<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Fasterflect</name>
    </assembly>
    <members>
        <member name="T:Fasterflect.Caching.CacheStrategy">
            <summary>
            An enumeration of the supported caching strategies.
            </summary>
        </member>
        <member name="F:Fasterflect.Caching.CacheStrategy.None">
            <summary>
            This value indicates that caching is disabled.
            </summary>
        </member>
        <member name="F:Fasterflect.Caching.CacheStrategy.Temporary">
            <summary>
            This value indicates that caching is enabled, and that cached objects may be
            collected and released at will by the garbage collector. This is the default value. 
            </summary>
        </member>
        <member name="F:Fasterflect.Caching.CacheStrategy.Permanent">
            <summary>
            This value indicates that caching is enabled, and that cached objects may not
            be garbage collected. The developer must manually ensure that objects are 
            removed from the cache when they are no longer needed.
            </summary>
        </member>
        <member name="M:Fasterflect.Caching.Cache`2.Insert(`0,`1)">
            <summary>
            Insert a collectible object into the cache.
            </summary>
            <param name="key">The cache key used to reference the item.</param>
            <param name="value">The object to be inserted into the cache.</param>
        </member>
        <member name="M:Fasterflect.Caching.Cache`2.Insert(`0,`1,Fasterflect.Caching.CacheStrategy)">
            <summary>
            Insert an object into the cache using the specified cache strategy (lifetime management).
            </summary>
            <param name="key">The cache key used to reference the item.</param>
            <param name="value">The object to be inserted into the cache.</param>
            <param name="strategy">The strategy to apply for the inserted item (use Temporary for objects 
            that are collectible and Permanent for objects you wish to keep forever).</param>
        </member>
        <member name="M:Fasterflect.Caching.Cache`2.Get(`0)">
            <summary>
            Retrieves an entry from the cache using the given key.
            </summary>
            <param name="key">The cache key of the item to retrieve.</param>
            <returns>The retrieved cache item or null if not found.</returns>
        </member>
        <member name="M:Fasterflect.Caching.Cache`2.Remove(`0)">
            <summary>
            Removes the object associated with the given key from the cache.
            </summary>
            <param name="key">The cache key of the item to remove.</param>
            <returns>True if an item removed from the cache and false otherwise.</returns>
        </member>
        <member name="M:Fasterflect.Caching.Cache`2.Clear">
            <summary>
            Removes all entries from the cache.
            </summary>
        </member>
        <member name="M:Fasterflect.Caching.Cache`2.ClearCollected">
            <summary>
            Process all entries in the cache and remove entries that refer to collected entries.
            </summary>
            <returns>The number of live cache entries still in the cache.</returns>
        </member>
        <member name="M:Fasterflect.Caching.Cache`2.ToString">
            <summary>
            This method returns a string with information on the cache contents (number of contained objects).
            </summary>
        </member>
        <member name="P:Fasterflect.Caching.Cache`2.Count">
            <summary>
            Returns the number of entries currently stored in the cache. Accessing this property
            causes a check of all entries in the cache to ensure collected entries are not counted.
            </summary>
        </member>
        <member name="P:Fasterflect.Caching.Cache`2.Item(`0)">
            <summary>
            Indexer for accessing or adding cache entries.
            </summary>
        </member>
        <member name="P:Fasterflect.Caching.Cache`2.Item(`0,Fasterflect.Caching.CacheStrategy)">
            <summary>
            Indexer for adding a cache item using the specified strategy.
            </summary>
        </member>
        <member name="T:Fasterflect.FormatOptions">
            <summary>
            This enumeration allows you to customize the XML output of the ToXml extensions.
            </summary>
        </member>
        <member name="F:Fasterflect.FormatOptions.None">
            <summary>
            This option specifies the empty set of options and does not affect the output.
            </summary>
        </member>
        <member name="F:Fasterflect.FormatOptions.AddHeader">
            <summary>
            If this option is specified the generated XML will include an XML document header.
            </summary>
        </member>
        <member name="F:Fasterflect.FormatOptions.NewLineAfterElement">
            <summary>
            If this option is specified a line feed will be emitted after every XML element.
            </summary>
        </member>
        <member name="F:Fasterflect.FormatOptions.Indent">
            <summary>
            If this option is specified nested tags will be indented either 1 tab character
            (the default) or 4 space characters.
            </summary>
        </member>
        <member name="F:Fasterflect.FormatOptions.UseSpaces">
            <summary>
            If this option is specified indentation will use spaces instead of tabs.
            </summary>
        </member>
        <member name="F:Fasterflect.FormatOptions.Default">
            <summary>
            This option, which combines AddHeader, NewLineAfterElement and Indent, provides the 
            default set of options used. 
            </summary>
        </member>
        <member name="M:Fasterflect.DynamicWrapper.TrySetMember(System.Dynamic.SetMemberBinder,System.Object)">
            <summary>
            Sets the member on the target to the given value. Returns true if the value was
            actually written to the underlying member.
            </summary>     
        </member>
        <member name="M:Fasterflect.DynamicWrapper.TryGetMember(System.Dynamic.GetMemberBinder,System.Object@)">
            <summary>
            Gets the member on the target and assigns it to the result parameter. Returns
            true if a value other than null was found and false otherwise.
            </summary>      
        </member>
        <member name="M:Fasterflect.DynamicWrapper.TryInvokeMember(System.Dynamic.InvokeMemberBinder,System.Object[],System.Object@)">
            <summary>
            Invokes the method specified and assigns the result to the result parameter. Returns
            true if a method to invoke was found and false otherwise.
            </summary>     
        </member>
        <member name="M:Fasterflect.DynamicWrapper.GetDynamicMemberNames">
            <summary>
            Gets all member names from the underlying instance.
            </summary>
        </member>
        <member name="M:Fasterflect.DynamicBuilder.TrySetMember(System.Dynamic.SetMemberBinder,System.Object)">
            <summary>
            Assigns the given value to the specified member, overwriting any previous definition if one existed.
            </summary>     
        </member>
        <member name="M:Fasterflect.DynamicBuilder.TryGetMember(System.Dynamic.GetMemberBinder,System.Object@)">
            <summary>
            Gets the value of the specified member.
            </summary>      
        </member>
        <member name="M:Fasterflect.DynamicBuilder.TryInvokeMember(System.Dynamic.InvokeMemberBinder,System.Object[],System.Object@)">
            <summary>
            Invokes the specified member (if it is a delegate).
            </summary>     
        </member>
        <member name="M:Fasterflect.DynamicBuilder.GetDynamicMemberNames">
            <summary>
            Gets a list of all dynamically defined members.
            </summary>
        </member>
        <member name="T:Fasterflect.Emitter.MapCallInfo">
            <summary>
            Stores all necessary information to construct a dynamic method for member mapping.
            </summary>
        </member>
        <member name="T:Fasterflect.Emitter.CallInfo">
            <summary>
            Stores all necessary information to construct a dynamic method.
            </summary>
        </member>
        <member name="M:Fasterflect.Emitter.CallInfo.Equals(System.Object)">
            <summary>
            Two <c>CallInfo</c> instances are considered equaled if the following properties
            are equaled: <c>TargetType</c>, <c>Flags</c>, <c>IsStatic</c>, <c>MemberTypes</c>, <c>Name</c>,
            <c>ParamTypes</c> and <c>GenericTypes</c>.
            </summary>
        </member>
        <member name="P:Fasterflect.Emitter.CallInfo.ShouldHandleInnerStruct">
            <summary>
            The CIL should handle inner struct only when the target type is 
            a value type or the wrapper ValueTypeHolder type.  In addition, the call 
            must also be executed in the non-static context since static 
            context doesn't need to handle inner struct case.
            </summary>
        </member>
        <member name="T:Fasterflect.AssemblyExtensions">
            <summary>
            Extension methods for inspecting assemblies.
            </summary>
        </member>
        <member name="M:Fasterflect.AssemblyExtensions.Types(System.Reflection.Assembly,System.String[])">
            <summary>
            Gets all types in the given <paramref name="assembly"/> matching the optional list 
            <paramref name="names"/>.
            </summary>
            <param name="assembly">The assembly in which to look for types.</param>
            <param name="names">An optional list of names against which to filter the result.  If this is
            <c>null</c> or left empty, all types are returned.</param>
            <returns>A list of all matching types. This method never returns null.</returns>
        </member>
        <member name="M:Fasterflect.AssemblyExtensions.Types(System.Reflection.Assembly,Fasterflect.Flags,System.String[])">
            <summary>
            Gets all types in the given <paramref name="assembly"/> matching the specified
            <paramref name="bindingFlags"/> and the optional list <paramref name="names"/>.
            </summary>
            <param name="assembly">The assembly in which to look for types.</param>
            <param name="bindingFlags">The <see cref="T:System.Reflection.BindingFlags"/> used to customize how results
            are filters. If the <see href="Flags.PartialNameMatch"/> option is specified any name
            comparisons will use <see href="String.Contains"/> instead of <see href="String.Equals"/>.</param>
            <param name="names">An optional list of names against which to filter the result.  If this is
            <c>null</c> or left empty, all types are returned.</param>
            <returns>A list of all matching types. This method never returns null.</returns>
        </member>
        <member name="M:Fasterflect.AssemblyExtensions.TypesImplementing``1(System.Reflection.Assembly)">
            <summary>
            Gets all types in the given <paramref name="assembly"/> that implement the given <typeparamref name="T"/>.
            </summary>
            <typeparam name="T">The interface types should implement.</typeparam>
            <param name="assembly">The assembly in which to look for types.</param>
            <returns>A list of all matching types. This method never returns null.</returns>
        </member>
        <member name="M:Fasterflect.AssemblyExtensions.TypesWith(System.Reflection.Assembly,System.Type)">
            <summary>
            Gets all types in the given <paramref name="assembly"/> that are decorated with an
            <see href="Attribute"/> of the given <paramref name="attributeType"/>.
            </summary>
            <returns>A list of all matching types. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.AssemblyExtensions.TypesWith``1(System.Reflection.Assembly)">
            <summary>
            Gets all types in the given <paramref name="assembly"/> that are decorated with an
            <see href="Attribute"/> of the given type <typeparamref name="T"/>.
            </summary>
            <returns>A list of all matching types. This value will never be null.</returns>
        </member>
        <member name="T:Fasterflect.TypeExtensions">
            <summary>
            Extension methods for inspecting types.
            </summary>
        </member>
        <member name="M:Fasterflect.TypeExtensions.Implements``1(System.Type)">
            <summary>
            Returns true if the supplied <paramref name="type"/> implements the given interface <typeparamref name="T"/>.
            </summary>
            <typeparam name="T">The type (interface) to check for.</typeparam>
            <param name="type">The type to check.</param>
            <returns>True if the given type implements the specified interface.</returns>
            <remarks>This method is for interfaces only. Use <seealso cref="M:Fasterflect.TypeExtensions.Inherits(System.Type,System.Type)"/> for class types and <seealso cref="M:Fasterflect.TypeExtensions.InheritsOrImplements(System.Type,System.Type)"/> 
            to check both interfaces and classes.</remarks>
        </member>
        <member name="M:Fasterflect.TypeExtensions.Implements(System.Type,System.Type)">
            <summary>
            Returns true of the supplied <paramref name="type"/> implements the given interface <paramref name="interfaceType"/>. If the given
            interface type is a generic type definition this method will use the generic type definition of any implemented interfaces
            to determine the result.
            </summary>
            <param name="interfaceType">The interface type to check for.</param>
            <param name="type">The type to check.</param>
            <returns>True if the given type implements the specified interface.</returns>
            <remarks>This method is for interfaces only. Use <seealso cref="M:Fasterflect.TypeExtensions.Inherits(System.Type,System.Type)"/> for classes and <seealso cref="M:Fasterflect.TypeExtensions.InheritsOrImplements(System.Type,System.Type)"/> 
            to check both interfaces and classes.</remarks>
        </member>
        <member name="M:Fasterflect.TypeExtensions.Inherits``1(System.Type)">
            <summary>
            Returns true if the supplied <paramref name="type"/> inherits from the given class <typeparamref name="T"/>.
            </summary>
            <typeparam name="T">The type (class) to check for.</typeparam>
            <param name="type">The type to check.</param>
            <returns>True if the given type inherits from the specified class.</returns>
            <remarks>This method is for classes only. Use <seealso cref="M:Fasterflect.TypeExtensions.Implements(System.Type,System.Type)"/> for interface types and <seealso cref="M:Fasterflect.TypeExtensions.InheritsOrImplements(System.Type,System.Type)"/> 
            to check both interfaces and classes.</remarks>
        </member>
        <member name="M:Fasterflect.TypeExtensions.Inherits(System.Type,System.Type)">
            <summary>
            Returns true if the supplied <paramref name="type"/> inherits from the given class <paramref name="baseType"/>.
            </summary>
            <param name="baseType">The type (class) to check for.</param>
            <param name="type">The type to check.</param>
            <returns>True if the given type inherits from the specified class.</returns>
            <remarks>This method is for classes only. Use <seealso cref="M:Fasterflect.TypeExtensions.Implements(System.Type,System.Type)"/> for interface types and <seealso cref="M:Fasterflect.TypeExtensions.InheritsOrImplements(System.Type,System.Type)"/> 
            to check both interfaces and classes.</remarks>
        </member>
        <member name="M:Fasterflect.TypeExtensions.InheritsOrImplements``1(System.Type)">
            <summary>
            Returns true if the supplied <paramref name="type"/> inherits from or implements the type <typeparamref name="T"/>.
            </summary>
            <typeparam name="T">The base type to check for.</typeparam>
            <param name="type">The type to check.</param>
            <returns>True if the given type inherits from or implements the specified base type.</returns>
        </member>
        <member name="M:Fasterflect.TypeExtensions.InheritsOrImplements(System.Type,System.Type)">
            <summary>
            Returns true of the supplied <paramref name="type"/> inherits from or implements the type <paramref name="baseType"/>.
            </summary>
            <param name="baseType">The base type to check for.</param>
            <param name="type">The type to check.</param>
            <returns>True if the given type inherits from or implements the specified base type.</returns>
        </member>
        <member name="M:Fasterflect.TypeExtensions.IsFrameworkType(System.Type)">
            <summary>
            Returns true if the supplied type is defined in an assembly signed by Microsoft.
            </summary>
        </member>
        <member name="M:Fasterflect.TypeExtensions.Name(System.Type)">
            <summary>
            Returns the C# name, including any generic parameters, of the supplied <paramref name="type"/>.
            </summary>
            <param name="type">The type to return the name for.</param>
            <returns>The type name formatted as you'd write it in C#.</returns>
        </member>
        <member name="T:Fasterflect.ParameterInfoExtensions">
            <summary>
            Extension methods for inspecting and working with method parameters.
            </summary>
        </member>
        <member name="M:Fasterflect.ParameterInfoExtensions.IsNullable(System.Reflection.ParameterInfo)">
            <summary>
            Determines whether null can be assigned to the given <paramref name="parameter"/>.
            </summary>
            <returns>True if null can be assigned, false otherwise.</returns>
        </member>
        <member name="M:Fasterflect.ParameterInfoExtensions.HasName(System.Reflection.ParameterInfo,System.String)">
            <summary>
            Determines whether the given <paramref name="parameter"/> has the given <paramref name="name"/>.
            The comparison uses OrdinalIgnoreCase and allows for a leading underscore in either name
            to be ignored.
            </summary>
            <returns>True if the name is considered identical, false otherwise. If either parameter
            is null an exception will be thrown.</returns>
        </member>
        <member name="M:Fasterflect.ParameterInfoExtensions.HasDefaultValue(System.Reflection.ParameterInfo)">
            <summary>
            Determines whether the given <paramref name="parameter"/> has an associated default value as
            supplied by an <see href="DefaultValueAttribute"/>. This method does not read the value of
            the attribute. It also does not support C# 4.0 default parameter specifications.
            </summary>
            <returns>True if the attribute was detected, false otherwise.</returns>
        </member>
        <member name="M:Fasterflect.ParameterInfoExtensions.DefaultValue(System.Reflection.ParameterInfo)">
            <summary>
            Gets the default value associated with the given <paramref name="parameter"/>. The value is
            obtained from the <see href="DefaultValueAttribute"/> if present on the parameter. This method 
            does not support C# 4.0 default parameter specifications.
            </summary>
            <returns>The default value if one could be obtained and converted into the type of the parameter,
            and null otherwise.</returns>
        </member>
        <member name="M:Fasterflect.MemberFilter.Filter``1(System.Collections.Generic.IList{``0},Fasterflect.Flags,System.String[])">
            <summary>
            This method applies name filtering to a set of members.
            </summary>
        </member>
        <member name="M:Fasterflect.MemberFilter.Filter``1(System.Collections.Generic.IList{``0},System.Type[])">
            <summary>
            This method applies type parameter type filtering to a set of methods.
            </summary>
        </member>
        <member name="M:Fasterflect.MemberFilter.Filter``1(System.Collections.Generic.IList{``0},Fasterflect.Flags,System.Type[])">
            <summary>
            This method applies method parameter type filtering to a set of methods.
            </summary>
        </member>
        <member name="M:Fasterflect.MemberFilter.Filter``1(System.Collections.Generic.IList{``0},Fasterflect.Flags,System.Reflection.MemberTypes)">
            <summary>
            This method applies member type filtering to a set of members.
            </summary>
        </member>
        <member name="M:Fasterflect.MemberFilter.Filter``1(System.Collections.Generic.IList{``0},Fasterflect.Flags)">
            <summary>
            This method applies flags-based filtering to a set of members.
            </summary>
        </member>
        <member name="T:Fasterflect.Emitter.EmitHelper">
            <summary>
            A wrapper around the <see cref="P:Fasterflect.Emitter.EmitHelper.ILGenerator"/> class.
            </summary>
            <seealso cref="T:System.Reflection.Emit.ILGenerator">ILGenerator Class</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.#ctor(System.Reflection.Emit.ILGenerator)">
            <summary>
            Initializes a new instance of the <see cref="T:Fasterflect.Emitter.EmitHelper"/> class
            with the specified <see cref="T:System.Reflection.Emit.ILGenerator"/>.
            </summary>
            <param name="ilGenerator">The <see cref="T:System.Reflection.Emit.ILGenerator"/> to use.</param>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.op_Implicit(Fasterflect.Emitter.EmitHelper)~System.Reflection.Emit.ILGenerator">
            <summary>
            Converts the supplied <see cref="T:Fasterflect.Emitter.EmitHelper"/> to a <see cref="P:Fasterflect.Emitter.EmitHelper.ILGenerator"/>.
            </summary>
            <param name="emitHelper">The <see cref="T:Fasterflect.Emitter.EmitHelper"/>.</param>
            <returns>An ILGenerator.</returns>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.BeginCatchBlock(System.Type)">
            <summary>
            Begins a catch block.
            </summary>
            <param name="exceptionType">The Type object that represents the exception.</param>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.BeginCatchBlock(System.Type)">ILGenerator.BeginCatchBlock Method</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.BeginExceptFilterBlock">
            <summary>
            Begins an exception block for a filtered exception.
            </summary>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.BeginExceptFilterBlock">ILGenerator.BeginCatchBlock Method</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.BeginExceptionBlock">
            <summary>
            Begins an exception block for a non-filtered exception.
            </summary>
            <returns>The label for the end of the block.</returns>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.BeginFaultBlock">
            <summary>
            Begins an exception fault block in the Microsoft intermediate language (MSIL) stream.
            </summary>
            <returns>Current instance of the <see cref="T:Fasterflect.Emitter.EmitHelper"/>.</returns>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.BeginFinallyBlock">
            <summary>
            Begins a finally block in the Microsoft intermediate language (MSIL) instruction stream.
            </summary>
            <returns>Current instance of the <see cref="T:Fasterflect.Emitter.EmitHelper"/>.</returns>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.BeginScope">
            <summary>
            Begins a lexical scope.
            </summary>
            <returns>Current instance of the <see cref="T:Fasterflect.Emitter.EmitHelper"/>.</returns>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.DeclareLocal(System.Type)">
            <summary>
            Declares a local variable.
            </summary>
            <param name="localType">The Type of the local variable.</param>
            <returns>The declared local variable.</returns>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.DeclareLocal(System.Type,System.Boolean)">
            <summary>
            Declares a local variable, optionally pinning the object referred to by the variable.
            </summary>
            <param name="localType">The Type of the local variable.</param>
            <param name="pinned"><b>true</b> to pin the object in memory; otherwise, <b>false</b>.</param>
            <returns>The declared local variable.</returns>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.DefineLabel">
            <summary>
            Declares a new label.
            </summary>
            <returns>Returns a new label that can be used as a token for branching.</returns>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.EndExceptionBlock">
            <summary>
            Ends an exception block.
            </summary>
            <returns>Current instance of the <see cref="T:Fasterflect.Emitter.EmitHelper"/>.</returns>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.EndScope">
            <summary>
            Ends a lexical scope.
            </summary>
            <returns>Current instance of the <see cref="T:Fasterflect.Emitter.EmitHelper"/>.</returns>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.MarkLabel(System.Reflection.Emit.Label)">
            <summary>
            Marks the Microsoft intermediate language (MSIL) stream's current position 
            with the given label.
            </summary>
            <param name="loc">The label for which to set an index.</param>
            <returns>Current instance of the <see cref="T:Fasterflect.Emitter.EmitHelper"/>.</returns>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.MarkSequencePoint(System.Diagnostics.SymbolStore.ISymbolDocumentWriter,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Marks a sequence point in the Microsoft intermediate language (MSIL) stream.
            </summary>
            <param name="document">The document for which the sequence point is being defined.</param>
            <param name="startLine">The line where the sequence point begins.</param>
            <param name="startColumn">The column in the line where the sequence point begins.</param>
            <param name="endLine">The line where the sequence point ends.</param>
            <param name="endColumn">The column in the line where the sequence point ends.</param>
            <returns>Current instance of the <see cref="T:Fasterflect.Emitter.EmitHelper"/>.</returns>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ThrowException(System.Type)">
            <summary>
            Emits an instruction to throw an exception.
            </summary>
            <param name="exceptionType">The class of the type of exception to throw.</param>
            <returns>Current instance of the <see cref="T:Fasterflect.Emitter.EmitHelper"/>.</returns>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.UsingNamespace(System.String)">
            <summary>
            Specifies the namespace to be used in evaluating locals and watches for 
            the current active lexical scope.
            </summary>
            <param name="namespaceName">The namespace to be used in evaluating locals and watches for the current active lexical scope.</param>
            <returns>Current instance of the <see cref="T:Fasterflect.Emitter.EmitHelper"/>.</returns>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.beq(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Beq"/>, label) that
            transfers control to a target instruction if two values are equal.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Beq">OpCodes.Beq</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.beq_s(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Beq_S"/>, label) that
            transfers control to a target instruction (short form) if two values are equal.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Beq_S">OpCodes.Beq_S</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.bge(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Bge"/>, label) that
            transfers control to a target instruction if the first value is greater than or equal to the second value.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Bge">OpCodes.Bge</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.bge_s(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Bge_S"/>, label) that
            transfers control to a target instruction (short form) 
            if the first value is greater than or equal to the second value.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Bge_S">OpCodes.Bge_S</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.bge_un(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Bge_Un"/>, label) that
            transfers control to a target instruction if the the first value is greather than the second value,
            when comparing unsigned integer values or unordered float values.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Bge_Un">OpCodes.Bge_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.bge_un_s(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Bge_Un_S"/>, label) that
            transfers control to a target instruction (short form) if if the the first value is greather than the second value,
            when comparing unsigned integer values or unordered float values.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Bge_Un_S">OpCodes.Bge_Un_S</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.bgt(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Bgt"/>, label) that
            transfers control to a target instruction if the first value is greater than the second value.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Bgt">OpCodes.Bgt</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.bgt_s(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Bgt_S"/>, label) that
            transfers control to a target instruction (short form) if the first value is greater than the second value.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Bgt_S">OpCodes.Bgt_S</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.bgt_un(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Bgt_Un"/>, label) that
            transfers control to a target instruction if the first value is greater than the second value,
            when comparing unsigned integer values or unordered float values.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Bgt_Un">OpCodes.Bgt_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.bgt_un_s(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Bgt_Un_S"/>, label) that
            transfers control to a target instruction (short form) if the first value is greater than the second value,
            when comparing unsigned integer values or unordered float values.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Bgt_Un_S">OpCodes.Bgt_Un_S</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ble(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ble"/>, label) that
            transfers control to a target instruction if the first value is less than or equal to the second value.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ble">OpCodes.Ble</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ble_s(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ble_S"/>, label) that
            transfers control to a target instruction (short form) if the first value is less than or equal to the second value.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ble_S">OpCodes.Ble_S</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ble_un(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ble_Un"/>, label) that
            transfers control to a target instruction if the first value is less than or equal to the second value,
            when comparing unsigned integer values or unordered float values.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ble_Un">OpCodes.Ble_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ble_un_s(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ble_Un_S"/>, label) that
            transfers control to a target instruction (short form) if the first value is less than or equal to the second value,
            when comparing unsigned integer values or unordered float values.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ble_Un_S">OpCodes.Ble_Un_S</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.blt(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Blt"/>, label) that
            transfers control to a target instruction if the first value is less than the second value.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Blt">OpCodes.Blt</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.blt_s(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Blt_S"/>, label) that
            transfers control to a target instruction (short form) if the first value is less than the second value.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Blt_S">OpCodes.Blt_S</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.blt_un(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Blt_Un"/>, label) that
            transfers control to a target instruction if the first value is less than the second value,
            when comparing unsigned integer values or unordered float values.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Blt_Un">OpCodes.Blt_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.blt_un_s(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Blt_Un_S"/>, label) that
            transfers control to a target instruction (short form) if the first value is less than the second value,
            when comparing unsigned integer values or unordered float values.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Blt_Un_S">OpCodes.Blt_Un_S</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.bne_un(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Bne_Un"/>, label) that
            transfers control to a target instruction when two unsigned integer values or unordered float values are not equal.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Bne_Un">OpCodes.Bne_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.bne_un_s(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Bne_Un_S"/>, label) that
            transfers control to a target instruction (short form) 
            when two unsigned integer values or unordered float values are not equal.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Bne_Un_S">OpCodes.Bne_Un_S</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.box(System.Type)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Box"/>, type) that
            converts a value type to an object reference.
            </summary>
            <param name="type">A Type</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Box">OpCodes.Box</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Type)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.boxIfValueType(System.Type)">
            <summary>
            Converts a value type to an object reference if the value is a value type.
            </summary>
            <param name="type">A Type</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Box">OpCodes.Box</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Type)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.br(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Br"/>, label) that
            unconditionally transfers control to a target instruction. 
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Br">OpCodes.Br</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.brfalse(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Brfalse"/>, label) that
            transfers control to a target instruction if value is false, a null reference (Nothing in Visual Basic), or zero.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Brfalse">OpCodes.Brfalse</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.brfalse_s(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Brfalse_S"/>, label) that
            transfers control to a target instruction if value is false, a null reference, or zero. 
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Brfalse_S">OpCodes.Brfalse_S</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.brtrue(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Brtrue"/>, label) that
            transfers control to a target instruction if value is true, not null, or non-zero.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Brtrue">OpCodes.Brtrue</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.brtrue_s(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Brtrue_S"/>, label) that
            transfers control to a target instruction (short form) if value is true, not null, or non-zero.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Brtrue_S">OpCodes.Brtrue_S</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.br_s(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Br_S"/>, label) that
            unconditionally transfers control to a target instruction (short form).
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Br_S">OpCodes.Br_S</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.call(System.Reflection.MethodInfo)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Call"/>, methodInfo) that
            calls the method indicated by the passed method descriptor.
            </summary>
            <param name="methodInfo">The method to be called.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Call">OpCodes.Call</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.call(System.Reflection.ConstructorInfo)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Call"/>, constructorInfo) that
            calls the method indicated by the passed method descriptor.
            </summary>
            <param name="constructorInfo">The constructor to be called.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Call">OpCodes.Call</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.call(System.Reflection.MethodInfo,System.Type[])">
            <summary>
            Calls ILGenerator.EmitCall(<see cref="F:System.Reflection.Emit.OpCodes.Call"/>, methodInfo, optionalParameterTypes) that
            calls the method indicated by the passed method descriptor.
            </summary>
            <param name="methodInfo">The method to be called.</param>
            <param name="optionalParameterTypes">The types of the optional arguments if the method is a varargs method.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Call">OpCodes.Call</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.EmitCall(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo,System.Type[])">ILGenerator.EmitCall</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.call(System.Type,System.String,System.Type[])">
            <summary>
            Calls ILGenerator.EmitCall(<see cref="F:System.Reflection.Emit.OpCodes.Call"/>, methodInfo, optionalParameterTypes) that
            calls the method indicated by the passed method descriptor.
            </summary>
            <param name="type">A Type</param>
            <param name="methodName">The name of the method to be called.</param>
            <param name="optionalParameterTypes">The types of the optional arguments if the method is a varargs method.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Call">OpCodes.Call</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.EmitCall(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo,System.Type[])">ILGenerator.EmitCall</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.call(System.Type,System.String,System.Reflection.BindingFlags,System.Type[])">
            <summary>
            Calls ILGenerator.EmitCall(<see cref="F:System.Reflection.Emit.OpCodes.Call"/>, methodInfo, optionalParameterTypes) that
            calls the method indicated by the passed method descriptor.
            </summary>
            <param name="type">A Type</param>
            <param name="methodName">The name of the method to be called.</param>
            <param name="bindingFlags">A bitmask comprised of one or more <see cref="T:System.Reflection.BindingFlags"/> 
            that specify how the search is conducted.</param>
            <param name="optionalParameterTypes">The types of the optional arguments if the method is a varargs method.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Call">OpCodes.Call</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.EmitCall(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo,System.Type[])">ILGenerator.EmitCall</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.calli(System.Runtime.InteropServices.CallingConvention,System.Type,System.Type[])">
            <summary>
            Calls ILGenerator.EmitCalli(<see cref="F:System.Reflection.Emit.OpCodes.Calli"/>, <see cref="T:System.Runtime.InteropServices.CallingConvention"/>, Type, Type[]) that
            calls the method indicated on the evaluation stack (as a pointer to an entry point) 
            with arguments described by a calling convention using an unmanaged calling convention.
            </summary>
            <param name="unmanagedCallConv">The unmanaged calling convention to be used.</param>
            <param name="returnType">The Type of the result.</param>
            <param name="parameterTypes">The types of the required arguments to the instruction.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Calli">OpCodes.Calli</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.EmitCalli(System.Reflection.Emit.OpCode,System.Runtime.InteropServices.CallingConvention,System.Type,System.Type[])">ILGenerator.EmitCalli</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.calli(System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[])">
            <summary>
            Calls ILGenerator.EmitCalli(<see cref="F:System.Reflection.Emit.OpCodes.Calli"/>, <see cref="T:System.Runtime.InteropServices.CallingConvention"/>, Type, Type[], Type[]) that
            calls the method indicated on the evaluation stack (as a pointer to an entry point)
            with arguments described by a calling convention using a managed calling convention.
            </summary>
            <param name="callingConvention">The managed calling convention to be used.</param>
            <param name="returnType">The Type of the result.</param>
            <param name="parameterTypes">The types of the required arguments to the instruction.</param>
            <param name="optionalParameterTypes">The types of the optional arguments for vararg calls.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Calli">OpCodes.Calli</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.EmitCalli(System.Reflection.Emit.OpCode,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[])">ILGenerator.EmitCalli</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.callvirt(System.Reflection.MethodInfo)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Callvirt"/>, methodInfo) that
            calls a late-bound method on an object, pushing the return value onto the evaluation stack.
            </summary>
            <param name="methodInfo">The method to be called.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Callvirt">OpCodes.Callvirt</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.callvirt(System.Reflection.MethodInfo,System.Type[])">
            <summary>
            Calls ILGenerator.EmitCall(<see cref="F:System.Reflection.Emit.OpCodes.Callvirt"/>, methodInfo, optionalParameterTypes) that
            calls a late-bound method on an object, pushing the return value onto the evaluation stack.
            </summary>
            <param name="methodInfo">The method to be called.</param>
            <param name="optionalParameterTypes">The types of the optional arguments if the method is a varargs method.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Callvirt">OpCodes.Callvirt</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.EmitCall(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo,System.Type[])">ILGenerator.EmitCall</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.callvirt(System.Type,System.String,System.Type[])">
            <summary>
            Calls ILGenerator.EmitCall(<see cref="F:System.Reflection.Emit.OpCodes.Callvirt"/>, methodInfo, optionalParameterTypes) that
            calls a late-bound method on an object, pushing the return value onto the evaluation stack.
            </summary>
            <param name="methodName">The method to be called.</param>
            <param name="type">The declaring type of the method.</param>
            <param name="optionalParameterTypes">The types of the optional arguments if the method is a varargs method.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Callvirt">OpCodes.Callvirt</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.EmitCall(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo,System.Type[])">ILGenerator.EmitCall</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.callvirt(System.Type,System.String,System.Reflection.BindingFlags,System.Type[])">
            <summary>
            Calls ILGenerator.EmitCall(<see cref="F:System.Reflection.Emit.OpCodes.Callvirt"/>, methodInfo, optionalParameterTypes) that
            calls a late-bound method on an object, pushing the return value onto the evaluation stack.
            </summary>
            <param name="methodName">The method to be called.</param>
            <param name="type">The declaring type of the method.</param>
            <param name="bindingFlags">A bitmask comprised of one or more <see cref="T:System.Reflection.BindingFlags"/> 
            that specify how the search is conducted.</param>
            <param name="optionalParameterTypes">The types of the optional arguments if the method is a varargs method.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Callvirt">OpCodes.Callvirt</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.EmitCall(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo,System.Type[])">ILGenerator.EmitCall</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.callvirt(System.Type,System.String,System.Reflection.BindingFlags)">
            <summary>
            Calls ILGenerator.EmitCall(<see cref="F:System.Reflection.Emit.OpCodes.Callvirt"/>, methodInfo, optionalParameterTypes) that
            calls a late-bound method on an object, pushing the return value onto the evaluation stack.
            </summary>
            <param name="methodName">The method to be called.</param>
            <param name="type">The declaring type of the method.</param>
            <param name="bindingFlags">A bitmask comprised of one or more <see cref="T:System.Reflection.BindingFlags"/> 
            that specify how the search is conducted.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Callvirt">OpCodes.Callvirt</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.EmitCall(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo,System.Type[])">ILGenerator.EmitCall</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.castclass(System.Type)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Castclass"/>, type) that
            attempts to cast an object passed by reference to the specified class.
            </summary>
            <param name="type">A Type</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Castclass">OpCodes.Castclass</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Type)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.castType(System.Type)">
            <summary>
            Attempts to cast an object passed by reference to the specified class 
            or to unbox if the type is a value type.
            </summary>
            <param name="type">A Type</param>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.constrained(System.Type)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Constrained"/>) that
            constrains the type on which a virtual method call is made.
            </summary>
            <param name="type">A Type</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Cgt_Un">OpCodes.Constrained</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.conv(System.Type)">
            <summary>
            Converts the value on top of the evaluation stack to the specified type.
            </summary>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.cpobj(System.Type)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Cpobj"/>, type) that
            copies the value type located at the address of an object (type &amp;, * or natural int) 
            to the address of the destination object (type &amp;, * or natural int).
            </summary>
            <param name="type">A Type</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Cpobj">OpCodes.Cpobj</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Type)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.initobj(System.Type)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Initobj"/>, type) that
            initializes all the fields of the object at a specific address to a null reference or 
            a 0 of the appropriate primitive type.
            </summary>
            <param name="type">A Type</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Initobj">OpCodes.Initobj</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Type)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.isinst(System.Type)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Isinst"/>, type) that
            tests whether an object reference (type O) is an instance of a particular class.
            </summary>
            <param name="type">A Type</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Isinst">OpCodes.Isinst</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Type)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.jmp(System.Reflection.MethodInfo)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Jmp"/>, methodInfo) that
            exits current method and jumps to specified method.
            </summary>
            <param name="methodInfo">The method to be jumped.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Jmp">OpCodes.Jmp</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldarg(System.Int16)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldarg"/>, short) that
            loads an argument (referenced by a specified index value) onto the stack.
            </summary>
            <param name="index">Index of the argument that is pushed onto the stack.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldarg">OpCodes.Ldarg</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Int16)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldarg(System.Int32)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldarg"/>, short) or 
            ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldarg_S"/>, byte) that
            loads an argument (referenced by a specified index value) onto the stack.
            </summary>
            <param name="index">Index of the argument that is pushed onto the stack.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldarg">OpCodes.Ldarg</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Int16)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldarga(System.Int16)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldarga"/>, short) that
            load an argument address onto the evaluation stack.
            </summary>
            <param name="index">Index of the address addr of the argument that is pushed onto the stack.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldarga">OpCodes.Ldarga</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Int16)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldarga_s(System.Byte)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldarga_S"/>, byte) that
            load an argument address, in short form, onto the evaluation stack.
            </summary>
            <param name="index">Index of the address addr of the argument that is pushed onto the stack.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldarga_S">OpCodes.Ldarga_S</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Byte)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldarga(System.Int32)">
            <summary>
            Load an argument address onto the evaluation stack.
            </summary>
            <param name="index">Index of the address addr of the argument that is pushed onto the stack.</param>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldarg_s(System.Byte)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldarg_S"/>, byte) that
            loads the argument (referenced by a specified short form index) onto the evaluation stack.
            </summary>
            <param name="index">Index of the argument value that is pushed onto the stack.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldarg_S">OpCodes.Ldarg_S</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Byte)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldc_bool(System.Boolean)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_0"/> or <see cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_1"/>) that
            pushes a supplied value of type int32 onto the evaluation stack as an int32.
            </summary>
            <param name="b">The value pushed onto the stack.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldc_I4">OpCodes.Ldc_I4_0</seealso>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldc_I4">OpCodes.Ldc_I4_1</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Int32)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldc_i4(System.Int32)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldc_I4"/>, int) that
            pushes a supplied value of type int32 onto the evaluation stack as an int32.
            </summary>
            <param name="num">The value pushed onto the stack.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldc_I4">OpCodes.Ldc_I4</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Int32)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldc_i4_(System.Int32)">
            <summary>
            Calls the best form of ILGenerator.Emit(Ldc_I4_X) that
            pushes the integer value of -1 onto the evaluation stack as an int32.
            </summary>
            <seealso cref="M:Fasterflect.Emitter.EmitHelper.ldc_i4(System.Int32)"/>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldc_i4_s(System.SByte)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_S"/>, byte) that
            pushes the supplied int8 value onto the evaluation stack as an int32, short form.
            </summary>
            <param name="num">The value pushed onto the stack.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_S">OpCodes.Ldc_I4_S</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Byte)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldc_i8(System.Int64)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldc_I8"/>, long) that
            pushes a supplied value of type int64 onto the evaluation stack as an int64.
            </summary>
            <param name="num">The value pushed onto the stack.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldc_I8">OpCodes.Ldc_I8</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Int64)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldc_r4(System.Single)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldc_R4"/>, float) that
            pushes a supplied value of type float32 onto the evaluation stack as type F (float).
            </summary>
            <param name="num">The value pushed onto the stack.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldc_R4">OpCodes.Ldc_R4</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Single)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldc_r8(System.Double)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldc_R8"/>, double) that
            pushes a supplied value of type float64 onto the evaluation stack as type F (float).
            </summary>
            <param name="num">The value pushed onto the stack.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldc_R8">OpCodes.Ldc_R8</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Double)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldelema(System.Type)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldelema"/>, type) that
            loads the address of the array element at a specified array index onto the top of the evaluation stack 
            as type &amp; (managed pointer).
            </summary>
            <param name="type">A Type</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldelema">OpCodes.Ldelema</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Type)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldfld(System.Reflection.FieldInfo)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldfld"/>, fieldInfo) that
            finds the value of a field in the object whose reference is currently on the evaluation stack.
            </summary>
            <param name="fieldInfo">A <see cref="T:System.Reflection.FieldInfo"/> representing a field.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldfld">OpCodes.Ldfld</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.FieldInfo)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldflda(System.Reflection.FieldInfo)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldflda"/>, fieldInfo) that
            finds the address of a field in the object whose reference is currently on the evaluation stack.
            </summary>
            <param name="fieldInfo">A <see cref="T:System.Reflection.FieldInfo"/> representing a field.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldflda">OpCodes.Ldflda</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.FieldInfo)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldftn(System.Reflection.MethodInfo)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldftn"/>, methodInfo) that
            pushes an unmanaged pointer (type natural int) to the native code implementing a specific method 
            onto the evaluation stack.
            </summary>
            <param name="methodInfo">The method to be called.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldftn">OpCodes.Ldftn</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldind(System.Type)">
            <summary>
            Loads a value of the type from a supplied address.
            </summary>
            <param name="type">A Type.</param>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldloc(System.Int16)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldloc"/>, short) that
            load an argument address onto the evaluation stack.
            </summary>
            <param name="index">Index of the local variable value pushed onto the stack.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldloc">OpCodes.Ldloc</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Int16)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldloc(System.Reflection.Emit.LocalBuilder)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldloc"/>, <see cref="T:System.Reflection.Emit.LocalBuilder"/>) that
            load an argument address onto the evaluation stack.
            </summary>
            <param name="localBuilder">Local variable builder.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldloc">OpCodes.Ldloc</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Int16)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldloca(System.Int16)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldloca"/>, short) that
            loads the address of the local variable at a specific index onto the evaluation stack.
            </summary>
            <param name="index">Index of the local variable.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldloca">OpCodes.Ldloca</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Int16)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldloca_s(System.Byte)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldloca_S"/>, byte) that
            loads the address of the local variable at a specific index onto the evaluation stack, short form.
            </summary>
            <param name="index">Index of the local variable.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldloca_S">OpCodes.Ldloca_S</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Byte)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldloca(System.Reflection.Emit.LocalBuilder)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldloca"/>, <see cref="T:System.Reflection.Emit.LocalBuilder"/>) that
            loads the address of the local variable at a specific index onto the evaluation stack.
            </summary>
            <param name="local">A <see cref="T:System.Reflection.Emit.LocalBuilder"/> representing the local variable.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldloca">OpCodes.Ldloca</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Int16)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldloc_s(System.Byte)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldloc_S"/>, byte) that
            loads the local variable at a specific index onto the evaluation stack, short form.
            </summary>
            <param name="index">Index of the local variable.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldloc_S">OpCodes.Ldloc_S</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Byte)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldobj(System.Type)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldobj"/>, type) that
            copies the value type object pointed to by an address to the top of the evaluation stack.
            </summary>
            <param name="type">A Type</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldobj">OpCodes.Ldobj</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Type)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldsfld(System.Reflection.FieldInfo)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldsfld"/>, fieldInfo) that
            pushes the value of a static field onto the evaluation stack.
            </summary>
            <param name="fieldInfo">A <see cref="T:System.Reflection.FieldInfo"/> representing a field.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldsfld">OpCodes.Ldsfld</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.FieldInfo)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldsflda(System.Reflection.FieldInfo)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldsflda"/>, fieldInfo) that
            pushes the address of a static field onto the evaluation stack.
            </summary>
            <param name="fieldInfo">A <see cref="T:System.Reflection.FieldInfo"/> representing a field.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldsflda">OpCodes.Ldsflda</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.FieldInfo)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldstrEx(System.String)">
            <summary>
            Calls <see cref="M:Fasterflect.Emitter.EmitHelper.ldstr(System.String)"/> -or- <see cref="P:Fasterflect.Emitter.EmitHelper.ldnull"/>,
            if given string is a null reference.
            </summary>
            <param name="str">The String to be emitted.</param>
            <seealso cref="M:Fasterflect.Emitter.EmitHelper.ldstr(System.String)"/>
            <seealso cref="P:Fasterflect.Emitter.EmitHelper.ldnull"/>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldstr(System.String)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldstr"/>, string) that
            pushes a new object reference to a string literal stored in the metadata.
            </summary>
            <param name="str">The String to be emitted.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldstr">OpCodes.Ldstr</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.FieldInfo)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldtoken(System.Reflection.MethodInfo)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldtoken"/>, methodInfo) that
            converts a metadata token to its runtime representation, pushing it onto the evaluation stack.
            </summary>
            <param name="methodInfo">The method to be called.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldtoken">OpCodes.Ldtoken</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldtoken(System.Reflection.FieldInfo)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldtoken"/>, fieldInfo) that
            converts a metadata token to its runtime representation, 
            pushing it onto the evaluation stack.
            </summary>
            <param name="fieldInfo">A <see cref="T:System.Reflection.FieldInfo"/> representing a field.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldtoken">OpCodes.Ldtoken</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.FieldInfo)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldtoken(System.Type)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldtoken"/>, type) that
            converts a metadata token to its runtime representation, pushing it onto the evaluation stack.
            </summary>
            <param name="type">A Type</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldtoken">OpCodes.Ldtoken</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Type)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ldvirtftn(System.Reflection.MethodInfo)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldvirtftn"/>, methodInfo) that
            pushes an unmanaged pointer (type natural int) to the native code implementing a particular virtual method 
            associated with a specified object onto the evaluation stack.
            </summary>
            <param name="methodInfo">The method to be called.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldvirtftn">OpCodes.Ldvirtftn</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.leave(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Leave"/>, label) that
            exits a protected region of code, unconditionally tranferring control to a specific target instruction.
            </summary>
            <param name="label">The label.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Leave">OpCodes.Leave</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.leave_s(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Leave_S"/>, label) that
            exits a protected region of code, unconditionally transferring control to a target instruction (short form).
            </summary>
            <param name="label">The label.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Leave_S">OpCodes.Leave_S</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.mkrefany(System.Type)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Mkrefany"/>, type) that
            pushes a typed reference to an instance of a specific type onto the evaluation stack.
            </summary>
            <param name="type">A Type</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Mkrefany">OpCodes.Mkrefany</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Type)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.newarr(System.Type)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Newarr"/>, type) that
            pushes an object reference to a new zero-based, one-dimensional array whose elements 
            are of a specific type onto the evaluation stack.
            </summary>
            <param name="type">A Type</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Newarr">OpCodes.Newarr</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Type)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.newobj(System.Reflection.ConstructorInfo)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Newobj"/>, <see cref="T:System.Reflection.ConstructorInfo"/>) that
            creates a new object or a new instance of a value type,
            pushing an object reference (type O) onto the evaluation stack.
            </summary>
            <param name="constructorInfo">A <see cref="T:System.Reflection.ConstructorInfo"/> representing a constructor.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Newobj">OpCodes.Newobj</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.ConstructorInfo)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.newobj(System.Type,System.Type[])">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Newobj"/>, ConstructorInfo) that
            creates a new object or a new instance of a value type,
            pushing an object reference (type O) onto the evaluation stack.
            </summary>
            <param name="type">A type.</param>
            <param name="parameters">An array of System.Type objects representing
            the number, order, and type of the parameters for the desired constructor.
            -or- An empty array of System.Type objects, to get a constructor that takes
            no parameters. Such an empty array is provided by the static field System.Type.EmptyTypes.</param>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.refanyval(System.Type)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Refanyval"/>, type) that
            retrieves the address (type &amp;) embedded in a typed reference.
            </summary>
            <param name="type">A Type</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Refanyval">OpCodes.Refanyval</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Type)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.ret">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ret"/>) that
            returns from the current method, pushing a return value (if present) 
            from the caller's evaluation stack onto the callee's evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ret">OpCodes.Ret</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.sizeof(System.Type)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Sizeof"/>, type) that
            pushes the size, in bytes, of a supplied value type onto the evaluation stack.
            </summary>
            <param name="type">A Type</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Sizeof">OpCodes.Sizeof</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Type)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.starg(System.Int16)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Starg"/>, short) that
            stores the value on top of the evaluation stack in the argument slot at a specified index.
            </summary>
            <param name="index">Slot index.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Starg">OpCodes.Starg</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Int16)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.starg_s(System.Byte)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Starg_S"/>, byte) that
            stores the value on top of the evaluation stack in the argument slot at a specified index,
            short form.
            </summary>
            <param name="index">Slot index.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Starg_S">OpCodes.Starg_S</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Byte)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.starg(System.Int32)">
            <summary>
            Stores the value on top of the evaluation stack in the argument slot at a specified index.
            </summary>
            <param name="index">Slot index.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Starg">OpCodes.Starg</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Int16)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.stfld(System.Reflection.FieldInfo)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stfld"/>, <see cref="T:System.Reflection.FieldInfo"/>) that
            replaces the value stored in the field of an object reference or pointer with a new value.
            </summary>
            <param name="fieldInfo">A <see cref="T:System.Reflection.FieldInfo"/> representing a field.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stfld">OpCodes.Stfld</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.FieldInfo)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.stind(System.Type)">
            <summary>
            Stores a value of the type at a supplied address.
            </summary>
            <param name="type">A Type.</param>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.stloc(System.Reflection.Emit.LocalBuilder)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stloc"/>, <see cref="T:System.Reflection.Emit.LocalBuilder"/>) that
            pops the current value from the top of the evaluation stack and stores it 
            in the local variable list at a specified index.
            </summary>
            <param name="local">A local variable.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stloc">OpCodes.Stloc</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.LocalBuilder)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.stloc(System.Int16)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stloc"/>, short) that
            pops the current value from the top of the evaluation stack and stores it 
            in the local variable list at a specified index.
            </summary>
            <param name="index">A local variable index.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stloc">OpCodes.Stloc</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Int16)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.stloc_s(System.Reflection.Emit.LocalBuilder)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stloc_S"/>, <see cref="T:System.Reflection.Emit.LocalBuilder"/>) that
            pops the current value from the top of the evaluation stack and stores it 
            in the local variable list at index (short form).
            </summary>
            <param name="local">A local variable.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stloc_S">OpCodes.Stloc_S</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.LocalBuilder)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.stloc_s(System.Byte)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stloc_S"/>, byte) that
            pops the current value from the top of the evaluation stack and stores it 
            in the local variable list at index (short form).
            </summary>
            <param name="index">A local variable index.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stloc_S">OpCodes.Stloc_S</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Int16)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.stobj(System.Type)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stobj"/>, type) that
            copies a value of a specified type from the evaluation stack into a supplied memory address.
            </summary>
            <param name="type">A Type</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stobj">OpCodes.Stobj</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Type)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.stsfld(System.Reflection.FieldInfo)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stsfld"/>, fieldInfo) that
            replaces the value of a static field with a value from the evaluation stack.
            </summary>
            <param name="fieldInfo">A <see cref="T:System.Reflection.FieldInfo"/> representing a field.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stsfld">OpCodes.Stsfld</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.FieldInfo)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.switch(System.Reflection.Emit.Label[])">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Switch"/>, label[]) that
            implements a jump table.
            </summary>
            <param name="labels">The array of label objects to which to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Switch">OpCodes.Switch</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label[])">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.unaligned(System.Reflection.Emit.Label)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Unaligned"/>, label) that
            indicates that an address currently atop the evaluation stack might not be aligned 
            to the natural size of the immediately following ldind, stind, ldfld, stfld, ldobj, stobj, 
            initblk, or cpblk instruction.
            </summary>
            <param name="label">The label to branch from this location.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Unaligned">OpCodes.Unaligned</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.unaligned(System.Int64)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Unaligned"/>, long) that
            indicates that an address currently atop the evaluation stack might not be aligned 
            to the natural size of the immediately following ldind, stind, ldfld, stfld, ldobj, stobj, 
            initblk, or cpblk instruction.
            </summary>
            <param name="addr">An address is pushed onto the stack.</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Unaligned">OpCodes.Unaligned</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Int64)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.unbox(System.Type)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Unbox"/>, type) that
            converts the boxed representation of a value type to its unboxed form.
            </summary>
            <param name="type">A Type</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Unbox">OpCodes.Unbox</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Type)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.unbox_any(System.Type)">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Unbox_Any"/>, type) that
            converts the boxed representation of a value type to its unboxed form.
            </summary>
            <param name="type">A Type</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Unbox_Any">OpCodes.Unbox_Any</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Type)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.unboxIfValueType(System.Type)">
            <summary>
            Calls <see cref="M:Fasterflect.Emitter.EmitHelper.unbox_any(System.Type)"/> if given type is a value type.
            </summary>
            <param name="type">A Type</param>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Unbox_Any">OpCodes.Unbox</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Type)">ILGenerator.Emit</seealso>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.end">
            <summary>
            Ends sequence of property calls.
            </summary>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.LoadInitValue(System.Type)">
            <summary>
            Loads default value of given type onto the evaluation stack.
            </summary>
            <param name="type">A Type</param>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.LoadWellKnownValue(System.Object)">
            <summary>
            Loads supplied object value (if possible) onto the evaluation stack.
            </summary>
            <param name="o">Any object instance or null reference.</param>
            <returns>True is a value was loaded, otherwise false.</returns>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.Init(System.Reflection.Emit.LocalBuilder)">
            <summary>
            Initialize local variable with some default value.
            </summary>
            <param name="localBuilder">A method local variable.</param>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.LoadType(System.Type)">
            <summary>
            Loads a type instance at runtime.
            </summary>
            <param name="type">A type</param>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.LoadField(System.Reflection.FieldInfo)">
            <summary>
            Loads a field instance at runtime.
            </summary>
            <param name="fieldInfo">A <see cref="T:System.Reflection.FieldInfo"/> representing a field.</param>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.CastFromObject(System.Type)">
            <summary>
            Cast an object passed by reference to the specified type
            or unbox a boxed value type.
            </summary>
            <param name="type">A type</param>
        </member>
        <member name="M:Fasterflect.Emitter.EmitHelper.AddMaxStackSize(System.Int32)">
            <summary>
            Increase max stack size by specified delta.
            </summary>
            <param name="size">Number of bytes to enlarge max stack size.</param>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ILGenerator">
            <summary>
            Gets MSIL generator.
            </summary>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.add">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Add"/>) that
            adds two values and pushes the result onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Add">OpCodes.Add</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.add_ovf">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Add_Ovf"/>) that
            adds two integers, performs an overflow check, and pushes the result onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Add_Ovf">OpCodes.Add_Ovf</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.add_ovf_un">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Add_Ovf_Un"/>) that
            adds two unsigned integer values, performs an overflow check, and pushes the result onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Add_Ovf_Un">OpCodes.Add_Ovf_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.and">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.And"/>) that
            computes the bitwise AND of two values and pushes the result onto the evalution stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.And">OpCodes.And</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.arglist">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Arglist"/>) that
            returns an unmanaged pointer to the argument list of the current method.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Arglist">OpCodes.Arglist</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.break">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Break"/>) that
            signals the Common Language Infrastructure (CLI) to inform the debugger that a break point has been tripped.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Break">OpCodes.Break</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ceq">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ceq"/>) that
            compares two values. If they are equal, the integer value 1 (int32) is pushed onto the evaluation stack;
            otherwise 0 (int32) is pushed onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ceq">OpCodes.Ceq</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.cgt">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Cgt"/>) that
            compares two values. If the first value is greater than the second,
            the integer value 1 (int32) is pushed onto the evaluation stack;
            otherwise 0 (int32) is pushed onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Cgt">OpCodes.Cgt</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.cgt_un">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Cgt_Un"/>) that
            compares two unsigned or unordered values.
            If the first value is greater than the second, the integer value 1 (int32) is pushed onto the evaluation stack;
            otherwise 0 (int32) is pushed onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Cgt_Un">OpCodes.Cgt_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ckfinite">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ckfinite"/>) that
            throws <see cref="T:System.ArithmeticException"/> if value is not a finite number.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ckfinite">OpCodes.Ckfinite</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.clt">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Clt"/>) that
            compares two values. If the first value is less than the second,
            the integer value 1 (int32) is pushed onto the evaluation stack;
            otherwise 0 (int32) is pushed onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Clt">OpCodes.Clt</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.clt_un">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Clt_Un"/>) that
            compares the unsigned or unordered values value1 and value2.
            If value1 is less than value2, then the integer value 1 (int32) is pushed onto the evaluation stack;
            otherwise 0 (int32) is pushed onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Clt_Un">OpCodes.Clt_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_i">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_I"/>) that
            converts the value on top of the evaluation stack to natural int.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_I">OpCodes.Conv_I</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_i1">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_I1"/>) that
            converts the value on top of the evaluation stack to int8, then extends (pads) it to int32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_I1">OpCodes.Conv_I1</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_i2">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_I2"/>) that
            converts the value on top of the evaluation stack to int16, then extends (pads) it to int32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_I2">OpCodes.Conv_I2</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_i4">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_I4"/>) that
            converts the value on top of the evaluation stack to int32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_I4">OpCodes.Conv_I4</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_i8">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_I8"/>) that
            converts the value on top of the evaluation stack to int64.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_I8">OpCodes.Conv_I8</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_ovf_i">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_I"/>) that
            converts the signed value on top of the evaluation stack to signed natural int,
            throwing <see cref="T:System.OverflowException"/> on overflow.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_I">OpCodes.Conv_Ovf_I</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_ovf_i1">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_I1"/>) that
            converts the signed value on top of the evaluation stack to signed int8 and extends it to int32,
            throwing <see cref="T:System.OverflowException"/> on overflow.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_I1">OpCodes.Conv_Ovf_I1</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_ovf_i1_un">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_I1_Un"/>) that
            converts the unsigned value on top of the evaluation stack to signed int8 and extends it to int32,
            throwing <see cref="T:System.OverflowException"/> on overflow.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_I1_Un">OpCodes.Conv_Ovf_I1_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_ovf_i2">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_I2"/>) that
            converts the signed value on top of the evaluation stack to signed int16 and extending it to int32,
            throwing <see cref="T:System.OverflowException"/> on overflow.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_I2">OpCodes.Conv_Ovf_I2</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_ovf_i2_un">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_I2_Un"/>) that
            converts the unsigned value on top of the evaluation stack to signed int16 and extends it to int32,
            throwing <see cref="T:System.OverflowException"/> on overflow.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_I2_Un">OpCodes.Conv_Ovf_I2_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_ovf_i4">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_I4"/>) that
            converts the signed value on top of the evaluation tack to signed int32, throwing <see cref="T:System.OverflowException"/> on overflow.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_I4">OpCodes.Conv_Ovf_I4</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_ovf_i4_un">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_I4_Un"/>) that
            converts the unsigned value on top of the evaluation stack to signed int32, throwing <see cref="T:System.OverflowException"/> on overflow.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_I4_Un">OpCodes.Conv_Ovf_I4_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_ovf_i8">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_I8"/>) that
            converts the signed value on top of the evaluation stack to signed int64,
            throwing <see cref="T:System.OverflowException"/> on overflow.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_I8">OpCodes.Conv_Ovf_I8</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_ovf_i8_un">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_I8_Un"/>) that
            converts the unsigned value on top of the evaluation stack to signed int64, throwing <see cref="T:System.OverflowException"/> on overflow.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_I8_Un">OpCodes.Conv_Ovf_I8_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_ovf_i_un">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_I_Un"/>) that
            converts the unsigned value on top of the evaluation stack to signed natural int,
            throwing <see cref="T:System.OverflowException"/> on overflow.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_I_Un">OpCodes.Conv_Ovf_I_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_ovf_u">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_U"/>) that
            converts the signed value on top of the evaluation stack to unsigned natural int,
            throwing <see cref="T:System.OverflowException"/> on overflow.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_U">OpCodes.Conv_Ovf_U</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_ovf_u1">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_U1"/>) that
            converts the signed value on top of the evaluation stack to unsigned int8 and extends it to int32,
            throwing <see cref="T:System.OverflowException"/> on overflow.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_U1">OpCodes.Conv_Ovf_U1</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_ovf_u1_un">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_U1_Un"/>) that
            converts the unsigned value on top of the evaluation stack to unsigned int8 and extends it to int32,
            throwing <see cref="T:System.OverflowException"/> on overflow.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_U1_Un">OpCodes.Conv_Ovf_U1_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_ovf_u2">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_U2"/>) that
            converts the signed value on top of the evaluation stack to unsigned int16 and extends it to int32,
            throwing <see cref="T:System.OverflowException"/> on overflow.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_U2">OpCodes.Conv_Ovf_U2</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_ovf_u2_un">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_U2_Un"/>) that
            converts the unsigned value on top of the evaluation stack to unsigned int16 and extends it to int32,
            throwing <see cref="T:System.OverflowException"/> on overflow.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_U2_Un">OpCodes.Conv_Ovf_U2_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_ovf_u4">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_U4"/>) that
            Converts the signed value on top of the evaluation stack to unsigned int32, throwing <see cref="T:System.OverflowException"/> on overflow.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_U4">OpCodes.Conv_Ovf_U4</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_ovf_u4_un">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_U4_Un"/>) that
            converts the unsigned value on top of the evaluation stack to unsigned int32, throwing <see cref="T:System.OverflowException"/> on overflow.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_U4_Un">OpCodes.Conv_Ovf_U4_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_ovf_u8">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_U8"/>) that
            converts the signed value on top of the evaluation stack to unsigned int64, throwing <see cref="T:System.OverflowException"/> on overflow.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_U8">OpCodes.Conv_Ovf_U8</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_ovf_u8_un">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_U8_Un"/>) that
            converts the unsigned value on top of the evaluation stack to unsigned int64, throwing <see cref="T:System.OverflowException"/> on overflow.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_U8_Un">OpCodes.Conv_Ovf_U8_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_ovf_u_un">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_U_Un"/>) that
            converts the unsigned value on top of the evaluation stack to unsigned natural int,
            throwing <see cref="T:System.OverflowException"/> on overflow.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_Ovf_U_Un">OpCodes.Conv_Ovf_U_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_r4">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_R4"/>) that
            converts the value on top of the evaluation stack to float32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_R4">OpCodes.Conv_R4</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_r8">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_R8"/>) that
            converts the value on top of the evaluation stack to float64.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_R8">OpCodes.Conv_R8</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_r_un">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_R_Un"/>) that
            converts the unsigned integer value on top of the evaluation stack to float32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_R_Un">OpCodes.Conv_R_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_u">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_U"/>) that
            converts the value on top of the evaluation stack to unsigned natural int, and extends it to natural int.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_U">OpCodes.Conv_U</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_u1">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_U1"/>) that
            converts the value on top of the evaluation stack to unsigned int8, and extends it to int32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_U1">OpCodes.Conv_U1</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_u2">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_U2"/>) that
            converts the value on top of the evaluation stack to unsigned int16, and extends it to int32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_U2">OpCodes.Conv_U2</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_u4">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_U4"/>) that
            converts the value on top of the evaluation stack to unsigned int32, and extends it to int32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_U4">OpCodes.Conv_U4</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.conv_u8">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Conv_U8"/>) that
            converts the value on top of the evaluation stack to unsigned int64, and extends it to int64.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Conv_U8">OpCodes.Conv_U8</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.cpblk">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Cpblk"/>) that
            copies a specified number bytes from a source address to a destination address.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Cpblk">OpCodes.Cpblk</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.div">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Div"/>) that
            divides two values and pushes the result as a floating-point (type F) or
            quotient (type int32) onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Div">OpCodes.Div</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.div_un">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Div_Un"/>) that
            divides two unsigned integer values and pushes the result (int32) onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Div_Un">OpCodes.Div_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.dup">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Dup"/>) that
            copies the current topmost value on the evaluation stack, and then pushes the copy onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Dup">OpCodes.Dup</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.endfilter">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Endfilter"/>) that
            transfers control from the filter clause of an exception back to
            the Common Language Infrastructure (CLI) exception handler.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Endfilter">OpCodes.Endfilter</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.endfinally">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Endfinally"/>) that
            transfers control from the fault or finally clause of an exception block back to
            the Common Language Infrastructure (CLI) exception handler.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Endfinally">OpCodes.Endfinally</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.initblk">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Initblk"/>) that
            initializes a specified block of memory at a specific address to a given size and initial value.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Initblk">OpCodes.Initblk</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldarg_0">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldarg_0"/>) that
            loads the argument at index 0 onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldarg_0">OpCodes.Ldarg_0</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldarg_1">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldarg_1"/>) that
            loads the argument at index 1 onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldarg_1">OpCodes.Ldarg_1</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldarg_2">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldarg_2"/>) that
            loads the argument at index 2 onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldarg_2">OpCodes.Ldarg_2</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldarg_3">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldarg_3"/>) that
            loads the argument at index 3 onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldarg_3">OpCodes.Ldarg_3</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldc_i4_0">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_0"/>) that
            pushes the integer value of 0 onto the evaluation stack as an int32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_0">OpCodes.Ldc_I4_0</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldc_i4_1">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_1"/>) that
            pushes the integer value of 1 onto the evaluation stack as an int32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_1">OpCodes.Ldc_I4_1</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldc_i4_2">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_2"/>) that
            pushes the integer value of 2 onto the evaluation stack as an int32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_2">OpCodes.Ldc_I4_2</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldc_i4_3">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_3"/>) that
            pushes the integer value of 3 onto the evaluation stack as an int32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_3">OpCodes.Ldc_I4_3</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldc_i4_4">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_4"/>) that
            pushes the integer value of 4 onto the evaluation stack as an int32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_4">OpCodes.Ldc_I4_4</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldc_i4_5">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_5"/>) that
            pushes the integer value of 5 onto the evaluation stack as an int32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_5">OpCodes.Ldc_I4_0</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldc_i4_6">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_6"/>) that
            pushes the integer value of 6 onto the evaluation stack as an int32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_6">OpCodes.Ldc_I4_6</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldc_i4_7">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_7"/>) that
            pushes the integer value of 7 onto the evaluation stack as an int32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_7">OpCodes.Ldc_I4_7</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldc_i4_8">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_8"/>) that
            pushes the integer value of 8 onto the evaluation stack as an int32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_8">OpCodes.Ldc_I4_8</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldc_i4_m1">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_M1"/>) that
            pushes the integer value of -1 onto the evaluation stack as an int32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldc_I4_M1">OpCodes.Ldc_I4_M1</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldelem_i">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldelem_I"/>) that
            loads the element with type natural int at a specified array index onto the top of the evaluation stack 
            as a natural int.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldelem_I">OpCodes.Ldelem_I</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldelem_i1">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldelem_I1"/>) that
            loads the element with type int8 at a specified array index onto the top of the evaluation stack as an int32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldelem_I1">OpCodes.Ldelem_I1</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldelem_i2">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldelem_I2"/>) that
            loads the element with type int16 at a specified array index onto the top of the evaluation stack as an int32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldelem_I2">OpCodes.Ldelem_I2</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldelem_i4">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldelem_I4"/>) that
            loads the element with type int32 at a specified array index onto the top of the evaluation stack as an int32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldelem_I4">OpCodes.Ldelem_I4</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldelem_i8">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldelem_I8"/>) that
            loads the element with type int64 at a specified array index onto the top of the evaluation stack as an int64.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldelem_I8">OpCodes.Ldelem_I8</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldelem_r4">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldelem_R4"/>) that
            loads the element with type float32 at a specified array index onto the top of the evaluation stack as type F (float).
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldelem_R4">OpCodes.Ldelem_R4</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldelem_r8">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldelem_R8"/>) that
            loads the element with type float64 at a specified array index onto the top of the evaluation stack as type F (float).
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldelem_R8">OpCodes.Ldelem_R8</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldelem_ref">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldelem_Ref"/>) that
            loads the element containing an object reference at a specified array index 
            onto the top of the evaluation stack as type O (object reference).
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldelem_Ref">OpCodes.Ldelem_Ref</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldelem_u1">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldelem_U1"/>) that
            loads the element with type unsigned int8 at a specified array index onto the top of the evaluation stack as an int32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldelem_U1">OpCodes.Ldelem_U1</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldelem_u2">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldelem_U2"/>) that
            loads the element with type unsigned int16 at a specified array index 
            onto the top of the evaluation stack as an int32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldelem_U2">OpCodes.Ldelem_U2</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldelem_u4">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldelem_U4"/>) that
            loads the element with type unsigned int32 at a specified array index 
            onto the top of the evaluation stack as an int32.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldelem_U4">OpCodes.Ldelem_U4</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldind_i">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldind_I"/>) that
            loads a value of type natural int as a natural int onto the evaluation stack indirectly.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldind_I">OpCodes.Ldind_I</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldind_i1">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldind_I1"/>) that
            loads a value of type int8 as an int32 onto the evaluation stack indirectly.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldind_I1">OpCodes.Ldind_I1</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldind_i2">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldind_I2"/>) that
            loads a value of type int16 as an int32 onto the evaluation stack indirectly.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldind_I2">OpCodes.Ldind_I2</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldind_i4">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldind_I4"/>) that
            loads a value of type int32 as an int32 onto the evaluation stack indirectly.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldind_I4">OpCodes.Ldind_I4</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldind_i8">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldind_I8"/>) that
            loads a value of type int64 as an int64 onto the evaluation stack indirectly.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldind_I8">OpCodes.Ldind_I8</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldind_r4">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldind_R4"/>) that
            loads a value of type float32 as a type F (float) onto the evaluation stack indirectly.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldind_R4">OpCodes.Ldind_R4</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldind_r8">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldind_R8"/>) that
            loads a value of type float64 as a type F (float) onto the evaluation stack indirectly.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldind_R8">OpCodes.Ldind_R8</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldind_ref">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldind_Ref"/>) that
            loads an object reference as a type O (object reference) onto the evaluation stack indirectly.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldind_Ref">OpCodes.Ldind_Ref</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldind_u1">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldind_U1"/>) that
            loads a value of type unsigned int8 as an int32 onto the evaluation stack indirectly.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldind_U1">OpCodes.Ldind_U1</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldind_u2">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldind_U2"/>) that
            loads a value of type unsigned int16 as an int32 onto the evaluation stack indirectly.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldind_U2">OpCodes.Ldind_U2</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldind_u4">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldind_U4"/>) that
            loads a value of type unsigned int32 as an int32 onto the evaluation stack indirectly.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldind_U4">OpCodes.Ldind_U4</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldlen">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldlen"/>) that
            pushes the number of elements of a zero-based, one-dimensional array onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldlen">OpCodes.Ldlen</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldloc_0">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldloc_0"/>) that
            loads the local variable at index 0 onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldloc_0">OpCodes.Ldloc_0</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldloc_1">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldloc_1"/>) that
            loads the local variable at index 1 onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldloc_1">OpCodes.Ldloc_1</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldloc_2">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldloc_2"/>) that
            loads the local variable at index 2 onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldloc_2">OpCodes.Ldloc_2</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldloc_3">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldloc_3"/>) that
            loads the local variable at index 3 onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldloc_3">OpCodes.Ldloc_3</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.ldnull">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Ldnull"/>) that
            pushes a null reference (type O) onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Ldnull">OpCodes.Ldnull</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.localloc">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Localloc"/>) that
            allocates a certain number of bytes from the local dynamic memory pool and pushes the address 
            (a transient pointer, type *) of the first allocated byte onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Localloc">OpCodes.Localloc</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.mul">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Mul"/>) that
            multiplies two values and pushes the result on the evaluation stack.
            (a transient pointer, type *) of the first allocated byte onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Mul">OpCodes.Mul</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.mul_ovf">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Mul_Ovf"/>) that
            multiplies two integer values, performs an overflow check, 
            and pushes the result onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Mul_Ovf">OpCodes.Mul_Ovf</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.mul_ovf_un">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Mul_Ovf_Un"/>) that
            multiplies two unsigned integer values, performs an overflow check, 
            and pushes the result onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Mul_Ovf_Un">OpCodes.Mul_Ovf_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.neg">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Neg"/>) that
            negates a value and pushes the result onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Neg">OpCodes.Neg</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.nop">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Nop"/>) that
            fills space if opcodes are patched. No meaningful operation is performed although 
            a processing cycle can be consumed.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Nop">OpCodes.Nop</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.not">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Not"/>) that
            computes the bitwise complement of the integer value on top of the stack 
            and pushes the result onto the evaluation stack as the same type.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Not">OpCodes.Not</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.or">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Or"/>) that
            compute the bitwise complement of the two integer values on top of the stack and 
            pushes the result onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Or">OpCodes.Or</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.pop">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Pop"/>) that
            removes the value currently on top of the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Pop">OpCodes.Pop</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.readonly">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Refanytype"/>) that
            specifies that the subsequent array address operation performs
            no type check at run time, and that it returns a managed pointer
            whose mutability is restricted.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Refanytype">OpCodes.Refanytype</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.refanytype">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Refanytype"/>) that
            retrieves the type token embedded in a typed reference.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Refanytype">OpCodes.Refanytype</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.rem">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Rem"/>) that
            divides two values and pushes the remainder onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Rem">OpCodes.Rem</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.rem_un">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Rem_Un"/>) that
            divides two unsigned values and pushes the remainder onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Rem_Un">OpCodes.Rem_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.rethrow">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Rethrow"/>) that
            rethrows the current exception.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Rethrow">OpCodes.Rethrow</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.shl">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Shl"/>) that
            shifts an integer value to the left (in zeroes) by a specified number of bits,
            pushing the result onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Shl">OpCodes.Shl</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.shr">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Shr"/>) that
            shifts an integer value (in sign) to the right by a specified number of bits,
            pushing the result onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Shr">OpCodes.Shr</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.shr_un">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Shr_Un"/>) that
            shifts an unsigned integer value (in zeroes) to the right by a specified number of bits,
            pushing the result onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Shr_Un">OpCodes.Shr_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.stelem_i">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stelem_I"/>) that
            replaces the array element at a given index with the natural int value 
            on the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stelem_I">OpCodes.Stelem_I</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.stelem_i1">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stelem_I1"/>) that
            replaces the array element at a given index with the int8 value on the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stelem_I1">OpCodes.Stelem_I1</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.stelem_i2">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stelem_I2"/>) that
            replaces the array element at a given index with the int16 value on the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stelem_I2">OpCodes.Stelem_I2</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.stelem_i4">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stelem_I4"/>) that
            replaces the array element at a given index with the int32 value on the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stelem_I4">OpCodes.Stelem_I4</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.stelem_i8">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stelem_I8"/>) that
            replaces the array element at a given index with the int64 value on the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stelem_I8">OpCodes.Stelem_I8</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.stelem_r4">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stelem_R4"/>) that
            replaces the array element at a given index with the float32 value on the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stelem_R4">OpCodes.Stelem_R4</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.stelem_r8">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stelem_R8"/>) that
            replaces the array element at a given index with the float64 value on the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stelem_R8">OpCodes.Stelem_R8</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.stelem_ref">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stelem_Ref"/>) that
            replaces the array element at a given index with the object ref value (type O)
            on the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stelem_Ref">OpCodes.Stelem_Ref</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.stind_i">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stind_I"/>) that
            stores a value of type natural int at a supplied address.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stind_I">OpCodes.Stind_I</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.stind_i1">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stind_I1"/>) that
            stores a value of type int8 at a supplied address.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stind_I1">OpCodes.Stind_I1</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.stind_i2">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stind_I2"/>) that
            stores a value of type int16 at a supplied address.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stind_I2">OpCodes.Stind_I2</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.stind_i4">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stind_I4"/>) that
            stores a value of type int32 at a supplied address.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stind_I4">OpCodes.Stind_I4</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.stind_i8">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stind_I8"/>) that
            stores a value of type int64 at a supplied address.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stind_I8">OpCodes.Stind_I8</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.stind_r4">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stind_R4"/>) that
            stores a value of type float32 at a supplied address.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stind_R4">OpCodes.Stind_R4</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.stind_r8">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stind_R8"/>) that
            stores a value of type float64 at a supplied address.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stind_R8">OpCodes.Stind_R8</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.stind_ref">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stind_Ref"/>) that
            stores an object reference value at a supplied address.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stind_Ref">OpCodes.Stind_Ref</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.stloc_0">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stloc_0"/>) that
            pops the current value from the top of the evaluation stack and stores it 
            in the local variable list at index 0.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stloc_0">OpCodes.Stloc_0</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.stloc_1">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stloc_1"/>) that
            pops the current value from the top of the evaluation stack and stores it 
            in the local variable list at index 1.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stloc_1">OpCodes.Stloc_1</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.stloc_2">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stloc_2"/>) that
            pops the current value from the top of the evaluation stack and stores it 
            in the local variable list at index 2.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stloc_2">OpCodes.Stloc_2</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.stloc_3">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Stloc_3"/>) that
            pops the current value from the top of the evaluation stack and stores it 
            in the local variable list at index 3.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Stloc_3">OpCodes.Stloc_3</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.sub">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Sub"/>) that
            subtracts one value from another and pushes the result onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Sub">OpCodes.Sub</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.sub_ovf">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Sub_Ovf"/>) that
            subtracts one integer value from another, performs an overflow check,
            and pushes the result onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Sub_Ovf">OpCodes.Sub_Ovf</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.sub_ovf_un">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Sub_Ovf_Un"/>) that
            subtracts one unsigned integer value from another, performs an overflow check,
            and pushes the result onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Sub_Ovf_Un">OpCodes.Sub_Ovf_Un</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.tailcall">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Tailcall"/>) that
            performs a postfixed method call instruction such that the current method's stack frame 
            is removed before the actual call instruction is executed.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Tailcall">OpCodes.Tailcall</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.throw">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Throw"/>) that
            throws the exception object currently on the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Throw">OpCodes.Throw</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.volatile">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Volatile"/>) that
            specifies that an address currently atop the evaluation stack might be volatile, 
            and the results of reading that location cannot be cached or that multiple stores 
            to that location cannot be suppressed.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Volatile">OpCodes.Volatile</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="P:Fasterflect.Emitter.EmitHelper.xor">
            <summary>
            Calls ILGenerator.Emit(<see cref="F:System.Reflection.Emit.OpCodes.Xor"/>) that
            computes the bitwise XOR of the top two values on the evaluation stack, 
            pushing the result onto the evaluation stack.
            </summary>
            <seealso cref="F:System.Reflection.Emit.OpCodes.Xor">OpCodes.Xor</seealso>
            <seealso cref="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">ILGenerator.Emit</seealso>
        </member>
        <member name="T:Fasterflect.ConstructorInfoExtensions">
            <summary>
            Extension methods for inspecting, invoking and working with constructors.
            </summary>
        </member>
        <member name="M:Fasterflect.ConstructorInfoExtensions.CreateInstance(System.Reflection.ConstructorInfo,System.Object[])">
            <summary>
            Invokes the constructor <paramref name="ctorInfo"/> with <paramref name="parameters"/> as arguments.
            Leave <paramref name="parameters"/> empty if the constructor has no argument.
            </summary>
        </member>
        <member name="M:Fasterflect.ConstructorInfoExtensions.DelegateForCreateInstance(System.Reflection.ConstructorInfo)">
            <summary>
            Creates a delegate which can create instance based on the constructor <paramref name="ctorInfo"/>.
            </summary>
        </member>
        <member name="T:Fasterflect.ValueTypeExtensions">
            <summary>
            Extension methods for working with types.
            </summary>
        </member>
        <member name="M:Fasterflect.ValueTypeExtensions.WrapIfValueType(System.Object)">
            <summary>
             Returns a wrapper <see cref="T:Fasterflect.Emitter.ValueTypeHolder"/> instance if <paramref name="obj"/> 
             is a value type.  Otherwise, returns <paramref name="obj"/>.
            </summary>
            <param name="obj">An object to be examined.</param>
            <returns>A wrapper <seealso cref="T:Fasterflect.Emitter.ValueTypeHolder"/> instance if <paramref name="obj"/>
             is a value type, or <paramref name="obj"/> itself if it's a reference type.</returns>
        </member>
        <member name="M:Fasterflect.ValueTypeExtensions.UnwrapIfWrapped(System.Object)">
            <summary>
             Returns a wrapped object if <paramref name="obj"/> is an instance of <see cref="T:Fasterflect.Emitter.ValueTypeHolder"/>.
            </summary>
            <param name="obj">An object to be "erased".</param>
            <returns>The object wrapped by <paramref name="obj"/> if the latter is of type <see cref="T:Fasterflect.Emitter.ValueTypeHolder"/>.  Otherwise,
             return <paramref name="obj"/>.</returns>
        </member>
        <member name="M:Fasterflect.ValueTypeExtensions.IsWrapped(System.Object)">
            <summary>
            Determines whether <paramref name="obj"/> is a wrapped object (instance of <see cref="T:Fasterflect.Emitter.ValueTypeHolder"/>).
            </summary>
            <param name="obj">The object to check.</param>
            <returns>Returns true if <paramref name="obj"/> is a wrapped object (instance of <see cref="T:Fasterflect.Emitter.ValueTypeHolder"/>).</returns>
        </member>
        <member name="T:Fasterflect.CloneExtensions">
            <summary>
            Extension methods for deep cloning of objects.
            </summary>
        </member>
        <member name="M:Fasterflect.CloneExtensions.DeepClone``1(``0)">
            <summary>
            Produces a deep clone of the <paramref name="source"/> object. Reference integrity is maintained and
            every unique object in the graph is cloned only once.
            A current limitation of this method is that all objects in the graph must have a default constructor.
            </summary>
            <typeparam name="T">The type of the object to clone.</typeparam>
            <param name="source">The object to clone.</param>
            <returns>A deep clone of the source object.</returns>
        </member>
        <member name="M:Fasterflect.CloneExtensions.DeepClone``1(``0,System.Collections.Generic.Dictionary{System.Object,System.Object})">
            <summary>
            Returns a clone of the given <paramref name="source"/> object. The <paramref name="map"/> is used as
            a cache during recursive calls to ensure that a single object is only cloned once.
            </summary>
        </member>
        <member name="M:Fasterflect.CloneExtensions.CloneObject``1(``0,System.Collections.Generic.Dictionary{System.Object,System.Object})">
            <summary>
            Returns a clone of the given <paramref name="source"/> object.
            </summary>
        </member>
        <member name="M:Fasterflect.CloneExtensions.CloneArray``1(``0,System.Collections.Generic.Dictionary{System.Object,System.Object})">
            <summary>
            Returns a clone of the given <paramref name="source"/> array.
            </summary>
        </member>
        <member name="M:Fasterflect.CloneExtensions.CloneField(System.Reflection.FieldInfo,System.Object,System.Collections.Generic.Dictionary{System.Object,System.Object})">
            <summary>
            Determines whether the <paramref name="field"/> can be cloned or not. If the field cannot be
            cloned (because it is immutable, constant or literal) the value is returned, and otherwise
            a clone of the value will be returned (if not found in the map, a new clone is created).
            </summary>
        </member>
        <member name="M:Fasterflect.CloneExtensions.ShouldClone(System.Object)">
            <summary>
            Returns true if the <paramref name="obj"/> parameter needs cloning.
            </summary>
        </member>
        <member name="M:Fasterflect.CloneExtensions.IsCalculated(System.Reflection.FieldInfo,System.Type)">
            <summary>
            This method returns true for fields that we can safely exclude while cloning an object. In theory 
            this relies on knowing implementation details for types, and may thus break if the BCL changes or
            has been implemented differently. Currently only used to make dictionaries clonable.
            </summary>
        </member>
        <member name="T:Fasterflect.ConstructorExtensions">
            <summary>
            Extension methods for locating, inspecting and invoking constructors.
            </summary>
        </member>
        <member name="M:Fasterflect.ConstructorExtensions.CreateInstance(System.Type,System.Object[])">
            <summary>
            Invokes a constructor whose parameter types are inferred from <paramref name="parameters"/> 
            on the given <paramref name="type"/> with <paramref name="parameters"/> being the arguments.
            Leave <paramref name="parameters"/> empty if the constructor has no argument.
            </summary>
            <remarks>
            All elements of <paramref name="parameters"/> must not be <c>null</c>.  Otherwise, 
            <see cref="T:System.NullReferenceException"/> is thrown.  If you are not sure as to whether
            any element is <c>null</c> or not, use the overload that accepts <c>paramTypes</c> array.
            </remarks>
            <seealso cref="M:Fasterflect.ConstructorExtensions.CreateInstance(System.Type,System.Type[],System.Object[])"/>
        </member>
        <member name="M:Fasterflect.ConstructorExtensions.CreateInstance(System.Type,System.Type[],System.Object[])">
            <summary>
            Invokes a constructor having parameter types specified by <paramref name="parameterTypes" /> 
            on the the given <paramref name="type"/> with <paramref name="parameters" /> being the arguments.
            </summary>
        </member>
        <member name="M:Fasterflect.ConstructorExtensions.CreateInstance(System.Type,Fasterflect.Flags,System.Object[])">
            <summary>
            Invokes a constructor whose parameter types are inferred from <paramref name="parameters"/> and
            matching <paramref name="bindingFlags"/> on the given <paramref name="type"/> 
            with <paramref name="parameters"/> being the arguments. 
            Leave <paramref name="parameters"/> empty if the constructor has no argument.
            </summary>
            <remarks>
            All elements of <paramref name="parameters"/> must not be <c>null</c>.  Otherwise, 
            <see cref="T:System.NullReferenceException"/> is thrown.  If you are not sure as to whether
            any element is <c>null</c> or not, use the overload that accepts <c>paramTypes</c> array.
            </remarks>
            <seealso cref="M:Fasterflect.ConstructorExtensions.CreateInstance(System.Type,System.Type[],Fasterflect.Flags,System.Object[])"/>
        </member>
        <member name="M:Fasterflect.ConstructorExtensions.CreateInstance(System.Type,System.Type[],Fasterflect.Flags,System.Object[])">
            <summary>
            Invokes a constructor whose parameter types are <paramref name="parameterTypes" /> and
            matching <paramref name="bindingFlags"/> on the given <paramref name="type"/> 
            with <paramref name="parameters" /> being the arguments.
            </summary>
        </member>
        <member name="M:Fasterflect.ConstructorExtensions.DelegateForCreateInstance(System.Type,System.Type[])">
            <summary>
            Creates a delegate which can invoke the constructor whose parameter types are <paramref name="parameterTypes" />
            on the given <paramref name="type"/>.  Leave <paramref name="parameterTypes"/> empty if the constructor
            has no argument.
            </summary>
        </member>
        <member name="M:Fasterflect.ConstructorExtensions.DelegateForCreateInstance(System.Type,Fasterflect.Flags,System.Type[])">
            <summary>
            Creates a delegate which can invoke the constructor whose parameter types are <paramref name="parameterTypes" />
            and matching <paramref name="bindingFlags"/> on the given <paramref name="type"/>.  
            Leave <paramref name="parameterTypes"/> empty if the constructor has no argument. 
            </summary>
        </member>
        <member name="M:Fasterflect.ConstructorExtensions.CreateInstances``1(System.Reflection.Assembly)">
            <summary>
            Finds all types implementing a specific interface or base class <typeparamref name="T"/> in the
            given <paramref name="assembly"/> and invokes the default constructor on each to return a list of
            instances. Any type that is not a class or does not have a default constructor is ignored.
            </summary>
            <typeparam name="T">The interface or base class type to look for in the given assembly.</typeparam>
            <param name="assembly">The assembly in which to look for types derived from the type parameter.</param>
            <returns>A list containing one instance for every unique type implementing T. This will never be null.</returns>
        </member>
        <member name="M:Fasterflect.ConstructorExtensions.Constructor(System.Type,System.Type[])">
            <summary>
            Gets the constructor corresponding to the supplied <paramref name="parameterTypes"/> on the
            given <paramref name="type"/>.
            </summary>
            <param name="type">The type to reflect on.</param>
            <param name="parameterTypes">The types of the constructor parameters in order.</param>
            <returns>The matching constructor or null if no match was found.</returns>
        </member>
        <member name="M:Fasterflect.ConstructorExtensions.Constructor(System.Type,Fasterflect.Flags,System.Type[])">
            <summary>
            Gets the constructor matching the given <paramref name="bindingFlags"/> and corresponding to the 
            supplied <paramref name="parameterTypes"/> on the given <paramref name="type"/>.
            </summary>
            <param name="type">The type to reflect on.</param>
            <param name="bindingFlags">The search criteria to use when reflecting.</param>
            <param name="parameterTypes">The types of the constructor parameters in order.</param>
            <returns>The matching constructor or null if no match was found.</returns>
        </member>
        <member name="M:Fasterflect.ConstructorExtensions.Constructors(System.Type)">
            <summary>
            Gets all public and non-public constructors (that are not abstract) on the given <paramref name="type"/>.
            </summary>
            <param name="type">The type to reflect on.</param>
            <returns>A list of matching constructors. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.ConstructorExtensions.Constructors(System.Type,Fasterflect.Flags)">
            <summary>
            Gets all constructors matching the given <paramref name="bindingFlags"/> (and that are not abstract)
            on the given <paramref name="type"/>.
            </summary>
            <param name="type">The type to reflect on.</param>
            <param name="bindingFlags">The search criteria to use when reflecting.</param>
            <returns>A list of matching constructors. This value will never be null.</returns>
        </member>
        <member name="T:Fasterflect.AttributeExtensions">
            <summary>
            Extension methods for locating and retrieving attributes.
            </summary>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.Attribute(System.Reflection.ICustomAttributeProvider)">
            <summary>
            Gets the first <see href="Attribute"/> associated with the <paramref name="provider"/>.
            </summary>
            <returns>The first attribute found on the source element.</returns>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.Attribute(System.Reflection.ICustomAttributeProvider,System.Type)">
            <summary>
            Gets the first <see href="Attribute"/> of type <paramref name="attributeType"/> associated with the <paramref name="provider"/>.
            </summary>
            <returns>The first attribute found on the source element.</returns>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.Attribute``1(System.Reflection.ICustomAttributeProvider)">
            <summary>
            Gets the first <see href="Attribute"/> of type <typeparamref name="T"/> associated with the <paramref name="provider"/>.
            </summary>
            <returns>The first attribute found on the source element.</returns>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.Attribute``1(System.Enum)">
            <summary>
            Gets the first <see href="Attribute"/> of type <typeparamref name="T"/> associated with the 
            enumeration value given in the <paramref name="provider"/> parameter.
            </summary>
            <typeparam name="T">The attribute type to search for.</typeparam>
            <param name="provider">An enumeration value on which to search for the attribute.</param>
            <returns>The first attribute found on the source.</returns>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.Attribute(System.Enum,System.Type)">
            <summary>
            Gets the first <see href="Attribute"/> of type <paramref name="attributeType"/> associated with the 
            enumeration value given in the <paramref name="provider"/> parameter.
            </summary>
            <param name="provider">An enumeration value on which to search for the attribute.</param>
            <param name="attributeType">The attribute type to search for.</param>
            <returns>The first attribute found on the source.</returns>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.Attributes(System.Reflection.ICustomAttributeProvider,System.Type[])">
            <summary>
            Gets the <see href="Attribute"/>s associated with the <paramref name="provider"/>. The resulting
            list of attributes can optionally be filtered by suppliying a list of <paramref name="attributeTypes"/>
            to include.
            </summary>
            <returns>A list of the attributes found on the source element. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.Attributes``1(System.Reflection.ICustomAttributeProvider)">
            <summary>
            Gets all <see href="Attribute"/>s of type <typeparamref name="T"/> associated with the <paramref name="provider"/>.
            </summary>
            <returns>A list of the attributes found on the source element. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.Attributes``1(System.Enum)">
            <summary>
            Gets the <see href="Attribute"/>s associated with the enumeration given in <paramref name="provider"/>. 
            </summary>
            <typeparam name="T">The attribute type to search for.</typeparam>
            <param name="provider">An enumeration on which to search for attributes of the given type.</param>
            <returns>A list of the attributes found on the supplied source. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.Attributes(System.Enum,System.Type[])">
            <summary>
            Gets the <see href="Attribute"/>s associated with the enumeration given in <paramref name="provider"/>. 
            The resulting list of attributes can optionally be filtered by suppliying a list of <paramref name="attributeTypes"/>
            to include.
            </summary>
            <returns>A list of the attributes found on the supplied source. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.HasAttribute(System.Reflection.ICustomAttributeProvider,System.Type)">
            <summary>
            Determines whether the <paramref name="provider"/> element has an associated <see href="Attribute"/>
            of type <paramref name="attributeType"/>.
            </summary>
            <returns>True if the source element has the associated attribute, false otherwise.</returns>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.HasAttribute``1(System.Reflection.ICustomAttributeProvider)">
            <summary>
            Determines whether the <paramref name="provider"/> element has an associated <see href="Attribute"/>
            of type <typeparamref name="T"/>.
            </summary>
            <returns>True if the source element has the associated attribute, false otherwise.</returns>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.HasAnyAttribute(System.Reflection.ICustomAttributeProvider,System.Type[])">
            <summary>
            Determines whether the <paramref name="provider"/> element has an associated <see href="Attribute"/>
            of any of the types given in <paramref name="attributeTypes"/>.
            </summary>
            <param name="provider"></param>
            <param name="attributeTypes">The list of attribute types to look for. If this list is <c>null</c> or
            empty an <see href="ArgumentException"/> will be thrown.</param>
            <returns>True if the source element has at least one of the specified attribute types, false otherwise.</returns>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.HasAllAttributes(System.Reflection.ICustomAttributeProvider,System.Type[])">
            <summary>
            Determines whether the <paramref name="provider"/> element has an associated <see href="Attribute"/>
            of all of the types given in <paramref name="attributeTypes"/>.
            </summary>
            <returns>True if the source element has all of the specified attribute types, false otherwise.</returns>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.MembersWith(System.Type,System.Reflection.MemberTypes,System.Type[])">
            <summary>
            Gets all public and non-public instance members on the given <paramref name="type"/>.
            The resulting list of members can optionally be filtered by supplying a list of 
            <paramref name="attributeTypes"/>, in which case only members decorated with at least one of
            these will be included.
            </summary>
            <param name="type">The type on which to reflect.</param>
            <param name="memberTypes">The <see href="MemberTypes"/> to include in the search.</param>
            <param name="attributeTypes">The optional list of attribute types with which members should
            be decorated. If this parameter is <c>null</c> or empty then all fields and properties
            will be included in the result.</param>
            <returns>A list of all matching members on the type. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.MembersWith``1(System.Type,System.Reflection.MemberTypes,Fasterflect.Flags)">
            <summary>
            Gets all members of the given <paramref name="memberTypes"/> on the given <paramref name="type"/> 
            that match the specified <paramref name="bindingFlags"/> and are decorated with an
            <see href="Attribute"/> of the given type <typeparamref name="T"/>.
            </summary>
            <param name="type">The type on which to reflect.</param>
            <param name="memberTypes">The <see href="MemberTypes"/> to include in the search.</param>
            <param name="bindingFlags">The <see cref="T:System.Reflection.BindingFlags"/> or <see cref="T:Fasterflect.Flags"/> combination 
            used to define the search behavior and result filtering.</param>
            <returns>A list of all matching members on the type. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.MembersWith(System.Type,System.Reflection.MemberTypes,Fasterflect.Flags,System.Type[])">
            <summary>
            Gets all members on the given <paramref name="type"/> that match the specified 
            <paramref name="bindingFlags"/>.
            The resulting list of members can optionally be filtered by supplying a list of 
            <paramref name="attributeTypes"/>, in which case only members decorated with at least one of
            these will be included.
            </summary>
            <param name="type">The type on which to reflect.</param>
            <param name="memberTypes">The <see href="MemberTypes"/> to include in the search.</param>
            <param name="bindingFlags">The <see cref="T:System.Reflection.BindingFlags"/> or <see cref="T:Fasterflect.Flags"/> combination 
            used to define the search behavior and result filtering.</param>
            <param name="attributeTypes">The optional list of attribute types with which members should
            be decorated. If this parameter is <c>null</c> or empty then all fields and properties
            matching the given <paramref name="bindingFlags"/> will be included in the result.</param>
            <returns>A list of all matching members on the type. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.FieldsAndPropertiesWith(System.Type,System.Type[])">
            <summary>
            Gets all public and non-public instance fields and properties on the given <paramref name="type"/>.
            The resulting list of members can optionally be filtered by supplying a list of 
            <paramref name="attributeTypes"/>, in which case only members decorated with at least one of
            these will be included.
            </summary>
            <param name="type">The type on which to reflect.</param>
            <param name="attributeTypes">The optional list of attribute types with which members should
            be decorated. If this parameter is <c>null</c> or empty then all fields and properties
            will be included in the result.</param>
            <returns>A list of all matching fields and properties on the type. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.FieldsAndPropertiesWith(System.Type,Fasterflect.Flags,System.Type[])">
            <summary>
            Gets all fields and properties on the given <paramref name="type"/> that match the specified 
            <paramref name="bindingFlags"/>.
            The resulting list of members can optionally be filtered by supplying a list of 
            <paramref name="attributeTypes"/>, in which case only members decorated with at least one of
            these will be included.
            </summary>
            <param name="type">The type on which to reflect.</param>
            <param name="bindingFlags">The <see cref="T:System.Reflection.BindingFlags"/> or <see cref="T:Fasterflect.Flags"/> combination 
            used to define the search behavior and result filtering.</param>
            <param name="attributeTypes">The optional list of attribute types with which members should
            be decorated. If this parameter is <c>null</c> or empty then all fields and properties
            matching the given <paramref name="bindingFlags"/> will be included in the result.</param>
            <returns>A list of all matching fields and properties on the type. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.FieldsWith(System.Type,Fasterflect.Flags,System.Type[])">
            <summary>
            Gets all fields on the given <paramref name="type"/> that match the specified <paramref name="bindingFlags"/>.
            The resulting list of members can optionally be filtered by supplying a list of 
            <paramref name="attributeTypes"/>, in which case only members decorated with at least one of
            these will be included.
            </summary>
            <param name="type">The type on which to reflect.</param>
            <param name="bindingFlags">The <see cref="T:System.Reflection.BindingFlags"/> or <see cref="T:Fasterflect.Flags"/> combination 
            used to define the search behavior and result filtering.</param>
            <param name="attributeTypes">The optional list of attribute types with which members should
            be decorated. If this parameter is <c>null</c> or empty then all fields matching the given 
            <paramref name="bindingFlags"/> will be included in the result.</param>
            <returns>A list of all matching fields on the type. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.PropertiesWith(System.Type,Fasterflect.Flags,System.Type[])">
            <summary>
            Gets all properties on the given <paramref name="type"/> that match the specified <paramref name="bindingFlags"/>.
            The resulting list of members can optionally be filtered by supplying a list of 
            <paramref name="attributeTypes"/>, in which case only members decorated with at least one of
            these will be included.
            </summary>
            <param name="type">The type on which to reflect.</param>
            <param name="bindingFlags">The <see cref="T:System.Reflection.BindingFlags"/> or <see cref="T:Fasterflect.Flags"/> combination 
            used to define the search behavior and result filtering.</param>
            <param name="attributeTypes">The optional list of attribute types with which members should
            be decorated. If this parameter is <c>null</c> or empty then all properties matching the given 
            <paramref name="bindingFlags"/> will be included in the result.</param>
            <returns>A list of all matching properties on the type. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.MethodsWith(System.Type,Fasterflect.Flags,System.Type[])">
            <summary>
            Gets all methods on the given <paramref name="type"/> that match the specified <paramref name="bindingFlags"/>.
            The resulting list of members can optionally be filtered by supplying a list of 
            <paramref name="attributeTypes"/>, in which case only members decorated with at least one of
            these will be included.
            </summary>
            <param name="type">The type on which to reflect.</param>
            <param name="bindingFlags">The <see cref="T:System.Reflection.BindingFlags"/> or <see cref="T:Fasterflect.Flags"/> combination 
            used to define the search behavior and result filtering.</param>
            <param name="attributeTypes">The optional list of attribute types with which members should
            be decorated. If this parameter is <c>null</c> or empty then all methods matching the given 
            <paramref name="bindingFlags"/> will be included in the result.</param>
            <returns>A list of all matching methods on the type. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.ConstructorsWith(System.Type,Fasterflect.Flags,System.Type[])">
            <summary>
            Gets all constructors on the given <paramref name="type"/> that match the specified <paramref name="bindingFlags"/>.
            The resulting list of members can optionally be filtered by supplying a list of 
            <paramref name="attributeTypes"/>, in which case only members decorated with at least one of
            these will be included.
            </summary>
            <param name="type">The type on which to reflect.</param>
            <param name="bindingFlags">The <see cref="T:System.Reflection.BindingFlags"/> or <see cref="T:Fasterflect.Flags"/> combination 
            used to define the search behavior and result filtering.</param>
            <param name="attributeTypes">The optional list of attribute types with which members should
            be decorated. If this parameter is <c>null</c> or empty then all constructors matching the given 
            <paramref name="bindingFlags"/> will be included in the result.</param>
            <returns>A list of all matching constructors on the type. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.MembersAndAttributes(System.Type,System.Reflection.MemberTypes,System.Type[])">
            <summary>
            Gets a dictionary with all public and non-public instance members on the given <paramref name="type"/> 
            and their associated attributes. Only members of the given <paramref name="memberTypes"/> will
            be included in the result.
            The list of attributes associated with each member can optionally be filtered by supplying a list of
            <paramref name="attributeTypes"/>, in which case only members with at least one of these will be
            included in the result.
            </summary>
            <returns>An dictionary mapping all matching members to their associated attributes. This value
            will never be null. The attribute list associated with each member in the dictionary will likewise
            never be null.</returns>
        </member>
        <member name="M:Fasterflect.AttributeExtensions.MembersAndAttributes(System.Type,System.Reflection.MemberTypes,Fasterflect.Flags,System.Type[])">
            <summary>
            Gets a dictionary with all members on the given <paramref name="type"/> and their associated attributes.
            Only members of the given <paramref name="memberTypes"/> and matching <paramref name="bindingFlags"/> will
            be included in the result.
            The list of attributes associated with each member can optionally be filtered by supplying a list of
            <paramref name="attributeTypes"/>, in which case only members with at least one of these will be
            included in the result.
            </summary>
            <returns>An dictionary mapping all matching members to their associated attributes. This value
            will never be null. The attribute list associated with each member in the dictionary will likewise
            never be null.</returns>
        </member>
        <member name="T:Fasterflect.ArrayExtensions">
            <summary>
            Extension methods for working with arrays.
            </summary>
        </member>
        <member name="M:Fasterflect.ArrayExtensions.SetElement(System.Object,System.Int64,System.Object)">
            <summary>
            Sets <paramref name="value"/> to the element at position <paramref name="index"/> of <paramref name="array"/>.
            </summary>
            <returns><paramref name="array"/>.</returns>
        </member>
        <member name="M:Fasterflect.ArrayExtensions.GetElement(System.Object,System.Int64)">
            <summary>
            Gets the element at position <paramref name="index"/> of <paramref name="array"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.ArrayExtensions.DelegateForSetElement(System.Type)">
            <summary>
            Creates a delegate which can set element of <paramref name="arrayType"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.ArrayExtensions.DelegateForGetElement(System.Type)">
            <summary>
            Creates a delegate which can retrieve element of <paramref name="arrayType"/>.
            </summary>
        </member>
        <member name="T:Fasterflect.Flags">
            <summary>
            This class encapsulates common <see cref="T:System.Reflection.BindingFlags"/> combinations and provides various
            additional Fasterflect-specific flags to further tailor the lookup experience.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.None">
            <summary>
            This value corresponds to the <see href="BindingFlags.Default"/> value.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.IgnoreCase">
            <summary>
            This value corresponds to the <see href="BindingFlags.IgnoreCase"/> value.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.DeclaredOnly">
            <summary>
            This value corresponds to the <see href="BindingFlags.DeclaredOnly"/> value.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.ExactBinding">
            <summary>
            This value corresponds to the <see href="BindingFlags.ExactBinding"/> value. 
            Note that this value is respected even in cases where normal Reflection calls would ignore it.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.Public">
            <summary>
            This value corresponds to the <see href="BindingFlags.Public"/> value.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.NonPublic">
            <summary>
            This value corresponds to the <see href="BindingFlags.NonPublic"/> value.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.Instance">
            <summary>
            This value corresponds to the <see href="BindingFlags.Instance"/> value.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.Static">
            <summary>
            This value corresponds to the <see href="BindingFlags.Static"/> value.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.PartialNameMatch">
            <summary>
            If this option is specified the search for a named member will perform a partial match instead
            of an exact match. If <see href="TrimExplicitlyImplemented"/> is specified the trimmed name is
            used instead of the original member name. If <see href="IgnoreCase"/> is specified the 
            comparison uses <see href="StringComparison.OrginalIgnoreCase"/> and otherwise
            uses <see href="StringComparison.Ordinal"/>.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.TrimExplicitlyImplemented">
            <summary>
            If this option is specified the search for a named member will strip off the namespace and
            interface name from explicitly implemented interface members before applying any comparison
            operations.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.ExcludeExplicitlyImplemented">
            <summary>
            If this option is specified the search for members will exclude explicitly implemented
            interface members.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.ExcludeBackingMembers">
            <summary>
            If this option is specified all members that are backers for another member, such as backing
            fields for automatic properties or get/set methods for properties, will be excluded from the 
            result.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.IgnoreParameterModifiers">
            <summary>
            If this option is specified the search for methods will avoid checking whether parameters
            have been declared as ref or out. This allows you to locate a method by its signature
            without supplying the exact details for every parameter.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.ExcludeHiddenMembers">
            <summary>
            If this option is specified all members that are have either an override or are being 
            shadowed/hidden (by another member declared using the new keyword) will be excluded from the 
            result. This is implemented by simple name matching of members, ensuring that only the first 
            member with a given name is included in the result. Note that this overlaps partially with
            the behavior of <see cref="F:Fasterflect.Flags.ExcludeBackingMembers"/>, however, an implementation that excludes 
            members based on the presence of the new keyword does not seem to be possible and would
            in any case be much slower.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.AnyVisibility">
            <summary>
            Search criteria encompassing all public and non-public members, including base members.
            Note that you also need to specify either the Instance or Static flag.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.InstancePublic">
            <summary>
            Search criteria encompassing all public instance members, including base members.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.InstancePrivate">
            <summary>
            Search criteria encompassing all non-public instance members, including base members.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.InstanceAnyVisibility">
            <summary>
            Search criteria encompassing all public and non-public instance members, including base members.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.StaticPublic">
            <summary>
            Search criteria encompassing all public static members, including base members.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.StaticPrivate">
            <summary>
            Search criteria encompassing all non-public static members, including base members.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.StaticAnyVisibility">
            <summary>
            Search criteria encompassing all public and non-public static members, including base members.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.InstancePublicDeclaredOnly">
            <summary>
            Search criteria encompassing all public instance members, excluding base members.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.InstancePrivateDeclaredOnly">
            <summary>
            Search criteria encompassing all non-public instance members, excluding base members.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.InstanceAnyDeclaredOnly">
            <summary>
            Search criteria encompassing all public and non-public instance members, excluding base members.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.StaticPublicDeclaredOnly">
            <summary>
            Search criteria encompassing all public static members, excluding base members.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.StaticPrivateDeclaredOnly">
            <summary>
            Search criteria encompassing all non-public static members, excluding base members.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.StaticAnyDeclaredOnly">
            <summary>
            Search criteria encompassing all public and non-public static members, excluding base members.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.StaticInstanceAnyVisibility">
            <summary>
            Search criteria encompassing all members, including base and static members.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.Default">
            <summary>
            Search criteria encompassing all public and non-public instance members, including base members.
            </summary>
        </member>
        <member name="F:Fasterflect.Flags.AllMembers">
            <summary>
            Search criteria encompassing all members (public and non-public, instance and static), including base members.
            </summary>
        </member>
        <member name="M:Fasterflect.Flags.IsSet(System.Reflection.BindingFlags)">
            <summary>
            Returns true if all values in the given <paramref name="mask"/> are set in the current Flags instance.
            </summary>
        </member>
        <member name="M:Fasterflect.Flags.IsSet(Fasterflect.Flags)">
            <summary>
            Returns true if all values in the given <paramref name="mask"/> are set in the current Flags instance.
            </summary>
        </member>
        <member name="M:Fasterflect.Flags.IsAnySet(System.Reflection.BindingFlags)">
            <summary>
            Returns true if at least one of the values in the given <paramref name="mask"/> are set in the current Flags instance.
            </summary>
        </member>
        <member name="M:Fasterflect.Flags.IsAnySet(Fasterflect.Flags)">
            <summary>
            Returns true if at least one of the values in the given <paramref name="mask"/> are set in the current Flags instance.
            </summary>
        </member>
        <member name="M:Fasterflect.Flags.IsNotSet(System.Reflection.BindingFlags)">
            <summary>
            Returns true if all values in the given <paramref name="mask"/> are not set in the current Flags instance.
            </summary>
        </member>
        <member name="M:Fasterflect.Flags.IsNotSet(Fasterflect.Flags)">
            <summary>
            Returns true if all values in the given <paramref name="mask"/> are not set in the current Flags instance.
            </summary>
        </member>
        <member name="M:Fasterflect.Flags.SetIf(Fasterflect.Flags,Fasterflect.Flags,System.Boolean)">
            <summary>
            Returns a new Flags instance with the union of the values from <paramref name="flags"/> and 
            <paramref name="mask"/> if <paramref name="condition"/> is true, and otherwise returns the
            supplied <paramref name="flags"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.Flags.SetOnlyIf(Fasterflect.Flags,Fasterflect.Flags,System.Boolean)">
            <summary>
            Returns a new Flags instance with the union of the values from <paramref name="flags"/> and 
            <paramref name="mask"/> if <paramref name="condition"/> is true, and otherwise returns a new 
            Flags instance with the values from <paramref name="flags"/> that were not in <paramref name="mask"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.Flags.ClearIf(Fasterflect.Flags,Fasterflect.Flags,System.Boolean)">
            <summary>
            Returns a new Flags instance returns a new Flags instance with the values from <paramref name="flags"/> 
            that were not in <paramref name="mask"/> if <paramref name="condition"/> is true, and otherwise returns
            the supplied <paramref name="flags"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.Flags.Equals(System.Object)">
            <summary>
            Compares the current Flags instance to the given <paramref name="obj"/>.
            Returns true only if <paramref name="obj"/> is a Flags instance representing an identical selection.
            </summary>
        </member>
        <member name="M:Fasterflect.Flags.GetHashCode">
            <summary>
            Produces a unique hash code for the current Flags instance.
            </summary>
        </member>
        <member name="M:Fasterflect.Flags.op_Subtraction(Fasterflect.Flags,Fasterflect.Flags)">
            <summary>
            Produces a new Flags instance with the values from <paramref name="f1"/> that were not in <paramref name="f2"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.Flags.op_BitwiseOr(Fasterflect.Flags,Fasterflect.Flags)">
            <summary>
            Produces a new Flags instance with the values from the union of <paramref name="f1"/> and <paramref name="f2"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.Flags.op_BitwiseAnd(Fasterflect.Flags,Fasterflect.Flags)">
            <summary>
            Produces a new Flags instance with the values from the intersection of <paramref name="f1"/> and <paramref name="f2"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.Flags.op_Equality(Fasterflect.Flags,Fasterflect.Flags)">
            <summary>
            Compares two Flags instances and returns true if they represent identical selections.
            </summary>
        </member>
        <member name="M:Fasterflect.Flags.op_Inequality(Fasterflect.Flags,Fasterflect.Flags)">
            <summary>
            Compares two Flags instances and returns true if they represent different selections.
            </summary>
        </member>
        <member name="M:Fasterflect.Flags.op_Implicit(System.Reflection.BindingFlags)~Fasterflect.Flags">
            <summary>
            Converts from BindingFlags to Flags.
            </summary>
        </member>
        <member name="M:Fasterflect.Flags.op_Explicit(System.Int64)~Fasterflect.Flags">
            <summary>
            Converts from long to Flags.
            </summary>
        </member>
        <member name="M:Fasterflect.Flags.op_Implicit(Fasterflect.Flags)~System.Reflection.BindingFlags">
            <summary>
            Converts from Flags to BindingFlags.
            </summary>
        </member>
        <member name="M:Fasterflect.Flags.op_Implicit(Fasterflect.Flags)~System.Int64">
            <summary>
            Converts from Flags to long.
            </summary>
        </member>
        <member name="M:Fasterflect.Flags.ToString">
            <summary>
            Returns a string representation of the Flags values selected by the current instance.
            </summary>
        </member>
        <member name="T:Fasterflect.FieldInfoExtensions">
            <summary>
            Extension methods for inspecting and working with fields.
            </summary>
        </member>
        <member name="M:Fasterflect.FieldInfoExtensions.Set(System.Reflection.FieldInfo,System.Object)">
            <summary>
            Sets the static field identified by <paramref name="fieldInfo"/> to the specified <paramref name="value" />.
            </summary>
        </member>
        <member name="M:Fasterflect.FieldInfoExtensions.Set(System.Reflection.FieldInfo,System.Object,System.Object)">
            <summary>
            Sets the instance field identified by <paramref name="fieldInfo"/> on the given <paramref name="obj"/>
            to the specified <paramref name="value" />.
            </summary>
        </member>
        <member name="M:Fasterflect.FieldInfoExtensions.Get(System.Reflection.FieldInfo)">
            <summary>
            Gets the value of the static field identified by <paramref name="fieldInfo"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.FieldInfoExtensions.Get(System.Reflection.FieldInfo,System.Object)">
            <summary>
            Gets the value of the instance field identified by <paramref name="fieldInfo"/> on the given <paramref name="obj"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.FieldInfoExtensions.DelegateForSetFieldValue(System.Reflection.FieldInfo)">
            <summary>
            Creates a delegate which can set the value of the field identified by <paramref name="fieldInfo"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.FieldInfoExtensions.DelegateForGetFieldValue(System.Reflection.FieldInfo)">
            <summary>
            Creates a delegate which can get the value of the field identified by <paramref name="fieldInfo"/>.
            </summary>
        </member>
        <member name="T:Fasterflect.MemberInfoExtensions">
            <summary>
            Extension methods for inspecting and working with members.
            </summary>
        </member>
        <member name="M:Fasterflect.MemberInfoExtensions.Get(System.Reflection.MemberInfo)">
            <summary>
            Gets the static field or property identified by <paramref name="memberInfo"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.MemberInfoExtensions.Set(System.Reflection.MemberInfo,System.Object)">
            <summary>
            Sets the static field or property identified by <paramref name="memberInfo"/> with <paramref name="value"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.MemberInfoExtensions.Get(System.Reflection.MemberInfo,System.Object)">
            <summary>
            Gets the instance field or property identified by <paramref name="memberInfo"/> on
            the <paramref name="obj"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.MemberInfoExtensions.Set(System.Reflection.MemberInfo,System.Object,System.Object)">
            <summary>
            Sets the instance field or property identified by <paramref name="memberInfo"/> on
            the <paramref name="obj"/> object with <paramref name="value"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.MemberInfoExtensions.Type(System.Reflection.MemberInfo)">
            <summary>
            Gets the system type of the field or property identified by the <paramref name="member"/>.
            </summary>
            <returns>The system type of the member.</returns>
        </member>
        <member name="M:Fasterflect.MemberInfoExtensions.IsReadable(System.Reflection.MemberInfo)">
            <summary>
            Determines whether a value can be read from the field or property identified by
            the <paramref name="member"/>.
            </summary>
            <returns>True for fields and readable properties, false otherwise.</returns>
        </member>
        <member name="M:Fasterflect.MemberInfoExtensions.IsWritable(System.Reflection.MemberInfo)">
            <summary>
            Determines whether a value can be assigned to the field or property identified by
            the <paramref name="member"/>.
            </summary>
            <returns>True for updateable fields and properties, false otherwise.</returns>
        </member>
        <member name="M:Fasterflect.MemberInfoExtensions.IsInvokable(System.Reflection.MemberInfo)">
            <summary>
            Determines whether the given <paramref name="member"/> is invokable.
            </summary>
            <returns>True for methods and constructors, false otherwise.</returns>
        </member>
        <member name="M:Fasterflect.MemberInfoExtensions.IsStatic(System.Reflection.MemberInfo)">
            <summary>
            Determines whether the given <paramref name="member"/> is a static member.
            </summary>
            <returns>True for static fields, properties and methods and false for instance fields,
            properties and methods. Throws an exception for all other <see href="MemberTypes" />.</returns>
        </member>
        <member name="M:Fasterflect.MemberInfoExtensions.IsInstance(System.Reflection.MemberInfo)">
            <summary>
            Determines whether the given <paramref name="member"/> is an instance member.
            </summary>
            <returns>True for instance fields, properties and methods and false for static fields,
            properties and methods. Throws an exception for all other <see href="MemberTypes" />.</returns>
        </member>
        <member name="M:Fasterflect.MemberInfoExtensions.HasName(System.Reflection.MemberInfo,System.String)">
            <summary>
            Determines whether the given <paramref name="member"/> has the given <paramref name="name"/>.
            The comparison uses OrdinalIgnoreCase and allows for a leading underscore in either name
            to be ignored.
            </summary>
            <returns>True if the name is considered identical, false otherwise. If either parameter
            is null an exception will be thrown.</returns>
        </member>
        <member name="T:Fasterflect.DynamicHandler">
            <summary>
            Container class for event/delegate extensions.
            </summary>
        </member>
        <member name="M:Fasterflect.DynamicHandler.InvokeDelegate(System.Type,System.String,System.Object[])">
            <summary>
            Invokes a static delegate using supplied parameters.
            </summary>
            <param name="targetType">The type where the delegate belongs to.</param>
            <param name="delegateName">The field name of the delegate.</param>
            <param name="parameters">The parameters used to invoke the delegate.</param>
            <returns>The return value of the invocation.</returns>
        </member>
        <member name="M:Fasterflect.DynamicHandler.InvokeDelegate(System.Object,System.String,System.Object[])">
            <summary>
            Invokes an instance delegate using supplied parameters.
            </summary>
            <param name="target">The object where the delegate belongs to.</param>
            <param name="delegateName">The field name of the delegate.</param>
            <param name="parameters">The parameters used to invoke the delegate.</param>
            <returns>The return value of the invocation.</returns>
        </member>
        <member name="M:Fasterflect.DynamicHandler.AddHandler(System.Type,System.String,System.Func{System.Object[],System.Object})">
            <summary>
            Adds a dynamic handler for a static delegate.
            </summary>
            <param name="targetType">The type where the delegate belongs to.</param>
            <param name="fieldName">The field name of the delegate.</param>
            <param name="func">The function which will be invoked whenever the delegate is invoked.</param>
            <returns>The return value of the invocation.</returns>
        </member>
        <member name="M:Fasterflect.DynamicHandler.AddHandler(System.Object,System.String,System.Func{System.Object[],System.Object})">
            <summary>
            Adds a dynamic handler for an instance delegate.
            </summary>
            <param name="target">The object where the delegate belongs to.</param>
            <param name="fieldName">The field name of the delegate.</param>
            <param name="func">The function which will be invoked whenever the delegate is invoked.</param>
            <returns>The return value of the invocation.</returns>
        </member>
        <member name="M:Fasterflect.DynamicHandler.AssignHandler(System.Type,System.String,System.Func{System.Object[],System.Object})">
            <summary>
            Assigns a dynamic handler for a static delegate or event.
            </summary>
            <param name="targetType">The type where the delegate or event belongs to.</param>
            <param name="fieldName">The field name of the delegate or event.</param>
            <param name="func">The function which will be invoked whenever the delegate or event is fired.</param>
            <returns>The return value of the invocation.</returns>
        </member>
        <member name="M:Fasterflect.DynamicHandler.AssignHandler(System.Object,System.String,System.Func{System.Object[],System.Object})">
            <summary>
            Assigns a dynamic handler for a static delegate or event.
            </summary>
            <param name="target">The object where the delegate or event belongs to.</param>
            <param name="fieldName">The field name of the delegate or event.</param>
            <param name="func">The function which will be invoked whenever the delegate or event is fired.</param>
            <returns>The return value of the invocation.</returns>
        </member>
        <member name="M:Fasterflect.DynamicHandler.BuildDynamicHandler(System.Type,System.Func{System.Object[],System.Object})">
            <summary>
            Dynamically generates code for a method whose can be used to handle a delegate of type 
            <paramref name="delegateType"/>.  The generated method will forward the call to the
            supplied <paramref name="func"/>.
            </summary>
            <param name="delegateType">The delegate type whose dynamic handler is to be built.</param>
            <param name="func">The function which will be forwarded the call whenever the generated
            handler is invoked.</param>
            <returns></returns>
        </member>
        <member name="T:Fasterflect.TryCallMethodExtensions">
            <summary>
            Extension methods for creating object instances when you do not know which constructor to call.
            </summary>
        </member>
        <member name="M:Fasterflect.TryCallMethodExtensions.TryCallMethod(System.Object,System.String,System.Boolean,System.Object)">
            <summary>
            Obtains a list of all methods with the given <paramref name="methodName"/> on the given 
            <paramref name="obj" />, and invokes the best match for the parameters obtained from the 
            public properties of the supplied <paramref name="sample"/> object.
            TryCallMethod is very liberal and attempts to convert values that are not otherwise
            considered compatible, such as between strings and enums or numbers, Guids and byte[16], etc.
            </summary>
            <returns>The result of the invocation.</returns>
        </member>
        <member name="M:Fasterflect.TryCallMethodExtensions.TryCallMethod(System.Object,System.String,System.Boolean,System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Obtains a list of all methods with the given <paramref name="methodName"/> on the given 
            <paramref name="obj" />, and invokes the best match for the parameters obtained from the 
            values in the supplied <paramref name="parameters"/> dictionary.
            TryCallMethod is very liberal and attempts to convert values that are not otherwise
            considered compatible, such as between strings and enums or numbers, Guids and byte[16], etc.
            </summary>
            <returns>The result of the invocation.</returns>
        </member>
        <member name="M:Fasterflect.TryCallMethodExtensions.TryCallMethod(System.Object,System.String,System.Boolean,System.String[],System.Type[],System.Object[])">
            <summary>
            Obtains a list of all methods with the given <paramref name="methodName"/> on the given 
            <paramref name="obj" />, and invokes the best match for the supplied parameters.
            TryCallMethod is very liberal and attempts to convert values that are not otherwise
            considered compatible, such as between strings and enums or numbers, Guids and byte[16], etc.
            </summary>
            <param name="obj">The type of which an instance should be created.</param>
            <param name="methodName">The name of the overloaded methods.</param>
            <param name="mustUseAllParameters">Specifies whether all supplied parameters must be used in the
            invocation. Unless you know what you are doing you should pass true for this parameter.</param>
            <param name="parameterNames">The names of the supplied parameters.</param>
            <param name="parameterTypes">The types of the supplied parameters.</param>
            <param name="parameterValues">The values of the supplied parameters.</param>
            <returns>The result of the invocation.</returns>
        </member>
        <member name="T:Fasterflect.TryCreateInstanceExtensions">
            <summary>
            Extension methods for creating object instances when you do not know which constructor to call.
            </summary>
        </member>
        <member name="F:Fasterflect.TryCreateInstanceExtensions.sourceInfoCache">
            <summary>
            This field is used to cache information on objects used as parameters for object construction, which
            improves performance for subsequent instantiations of the same type using a compatible source type.
            </summary>
        </member>
        <member name="M:Fasterflect.TryCreateInstanceExtensions.TryCreateInstance(System.Type,System.Object)">
            <summary>
            Creates an instance of the given <paramref name="type"/> using the public properties of the 
            supplied <paramref name="sample"/> object as input.
            This method will try to determine the least-cost route to constructing the instance, which
            implies mapping as many properties as possible to constructor parameters. Remaining properties
            on the source are mapped to properties on the created instance or ignored if none matches.
            TryCreateInstance is very liberal and attempts to convert values that are not otherwise
            considered compatible, such as between strings and enums or numbers, Guids and byte[], etc.
            </summary>
            <returns>An instance of <paramref name="type"/>.</returns>
        </member>
        <member name="M:Fasterflect.TryCreateInstanceExtensions.TryCreateInstance(System.Type,System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Creates an instance of the given <paramref name="type"/> using the values in the supplied
            <paramref name="parameters"/> dictionary as input.
            This method will try to determine the least-cost route to constructing the instance, which
            implies mapping as many values as possible to constructor parameters. Remaining values
            are mapped to properties on the created instance or ignored if none matches.
            TryCreateInstance is very liberal and attempts to convert values that are not otherwise
            considered compatible, such as between strings and enums or numbers, Guids and byte[], etc.
            </summary>
            <returns>An instance of <paramref name="type"/>.</returns>
        </member>
        <member name="M:Fasterflect.TryCreateInstanceExtensions.TryCreateInstance(System.Type,System.String[],System.Object[])">
            <summary>
            Creates an instance of the given <paramref name="type"/> using the supplied parameter information as input.
            Parameter types are inferred from the supplied <paramref name="parameterValues"/> and as such these
            should not be null.
            This method will try to determine the least-cost route to constructing the instance, which
            implies mapping as many properties as possible to constructor parameters. Remaining properties
            on the source are mapped to properties on the created instance or ignored if none matches.
            TryCreateInstance is very liberal and attempts to convert values that are not otherwise
            considered compatible, such as between strings and enums or numbers, Guids and byte[], etc.
            </summary>
            <param name="type">The type of which an instance should be created.</param>
            <param name="parameterNames">The names of the supplied parameters.</param>
            <param name="parameterValues">The values of the supplied parameters.</param>
            <returns>An instance of <paramref name="type"/>.</returns>
        </member>
        <member name="M:Fasterflect.TryCreateInstanceExtensions.TryCreateInstance(System.Type,System.String[],System.Type[],System.Object[])">
            <summary>
            Creates an instance of the given <paramref name="type"/> using the supplied parameter information as input.
            This method will try to determine the least-cost route to constructing the instance, which
            implies mapping as many properties as possible to constructor parameters. Remaining properties
            on the source are mapped to properties on the created instance or ignored if none matches.
            TryCreateInstance is very liberal and attempts to convert values that are not otherwise
            considered compatible, such as between strings and enums or numbers, Guids and byte[], etc.
            </summary>
            <param name="type">The type of which an instance should be created.</param>
            <param name="parameterNames">The names of the supplied parameters.</param>
            <param name="parameterTypes">The types of the supplied parameters.</param>
            <param name="parameterValues">The values of the supplied parameters.</param>
            <returns>An instance of <paramref name="type"/>.</returns>
        </member>
        <member name="T:Fasterflect.MapExtensions">
            <summary>
            Extension methods for mapping (copying) members from one object instance to another.
            </summary>
        </member>
        <member name="M:Fasterflect.MapExtensions.Map(System.Object,System.Object,System.String[])">
            <summary>
            Maps values from fields and properties on the source object to fields and properties with the 
            same name on the target object.
            </summary>
            <param name="source">The source object from which member values are read.</param>
            <param name="target">The target object to which member values are written.</param>
            <param name="names">The optional list of member names against which to filter the members that are
            to be mapped. If this parameter is <c>null</c> or empty no name filtering will be applied. The default 
            behavior is to check for an exact, case-sensitive match. Pass <see href="Flags.PartialNameMatch"/> to 
            filter members by substring and <see href="Flags.IgnoreCase"/> to ignore case.</param>
        </member>
        <member name="M:Fasterflect.MapExtensions.Map(System.Object,System.Object,Fasterflect.Flags,System.String[])">
            <summary>
            Maps values from fields and properties on the source object to fields and properties with the 
            same name on the target object.
            </summary>
            <param name="source">The source object from which member values are read.</param>
            <param name="target">The target object to which member values are written.</param>
            <param name="bindingFlags">The <see href="Flags"/> used to define the scope when locating members.</param>
            <param name="names">The optional list of member names against which to filter the members that are
            to be mapped. If this parameter is <c>null</c> or empty no name filtering will be applied. The default 
            behavior is to check for an exact, case-sensitive match. Pass <see href="Flags.PartialNameMatch"/> to 
            filter members by substring and <see href="Flags.IgnoreCase"/> to ignore case.</param>
        </member>
        <member name="M:Fasterflect.MapExtensions.Map(System.Object,System.Object,System.Reflection.MemberTypes,System.Reflection.MemberTypes,Fasterflect.Flags,System.String[])">
            <summary>
            Maps values from members on the source object to members with the same name on the target object.
            </summary>
            <param name="source">The source object from which member values are read.</param>
            <param name="target">The target object to which member values are written.</param>
            <param name="sourceTypes">The member types (Fields, Properties or both) to include on the source.</param>
            <param name="targetTypes">The member types (Fields, Properties or both) to include on the target.</param>
            <param name="bindingFlags">The <see href="Flags"/> used to define the scope when locating members. If
            <paramref name="sourceTypes"/> is different from <paramref name="targetTypes"/> the flag value
            <see cref="F:Fasterflect.Flags.IgnoreCase"/> will automatically be applied.</param>
            <param name="names">The optional list of member names against which to filter the members that are
            to be mapped. If this parameter is <c>null</c> or empty no name filtering will be applied. The default 
            behavior is to check for an exact, case-sensitive match. Pass <see href="Flags.PartialNameMatch"/> to 
            filter members by substring and <see href="Flags.IgnoreCase"/> to ignore case.</param>
        </member>
        <member name="M:Fasterflect.MapExtensions.DelegateForMap(System.Type,System.Type,System.String[])">
            <summary>
            Creates a delegate that can map values from fields and properties on the source object to fields and properties with the 
            same name on the target object.
            </summary>
            <param name="sourceType">The type of the source object.</param>
            <param name="targetType">The type of the target object.</param>
            <param name="names">The optional list of member names against which to filter the members that are
            to be mapped. If this parameter is <c>null</c> or empty no name filtering will be applied. The default 
            behavior is to check for an exact, case-sensitive match. Pass <see href="Flags.PartialNameMatch"/> to 
            filter members by substring and <see href="Flags.IgnoreCase"/> to ignore case.</param>
        </member>
        <member name="M:Fasterflect.MapExtensions.DelegateForMap(System.Type,System.Type,Fasterflect.Flags,System.String[])">
            <summary>
            Creates a delegate that can map values from fields and properties on the source object to fields and properties with the 
            same name on the target object.
            </summary>
            <param name="sourceType">The type of the source object.</param>
            <param name="targetType">The type of the target object.</param>
            <param name="bindingFlags">The <see href="Flags"/> used to define the scope when locating members.</param>
            <param name="names">The optional list of member names against which to filter the members that are
            to be mapped. If this parameter is <c>null</c> or empty no name filtering will be applied. The default 
            behavior is to check for an exact, case-sensitive match. Pass <see href="Flags.PartialNameMatch"/> to 
            filter members by substring and <see href="Flags.IgnoreCase"/> to ignore case.</param>
        </member>
        <member name="M:Fasterflect.MapExtensions.DelegateForMap(System.Type,System.Type,System.Reflection.MemberTypes,System.Reflection.MemberTypes,Fasterflect.Flags,System.String[])">
            <summary>
            Creates a delegate that can map values from fields and properties on the source object to fields and properties with the 
            same name on the target object.
            </summary>
            <param name="sourceType">The type of the source object.</param>
            <param name="targetType">The type of the target object.</param>
            <param name="sourceTypes">The member types (Fields, Properties or both) to include on the source.</param>
            <param name="targetTypes">The member types (Fields, Properties or both) to include on the target.</param>
            <param name="bindingFlags">The <see href="Flags"/> used to define the scope when locating members. If
            <paramref name="sourceTypes"/> is different from <paramref name="targetTypes"/> the flag value
            <see cref="F:Fasterflect.Flags.IgnoreCase"/> will automatically be applied.</param>
            <param name="names">The optional list of member names against which to filter the members that are
            to be mapped. If this parameter is <c>null</c> or empty no name filtering will be applied. The default 
            behavior is to check for an exact, case-sensitive match. Pass <see href="Flags.PartialNameMatch"/> to 
            filter members by substring and <see href="Flags.IgnoreCase"/> to ignore case.</param>
        </member>
        <member name="M:Fasterflect.MapExtensions.MapFields(System.Object,System.Object,System.String[])">
            <summary>
            Maps values from fields on the source object to fields with the same name on the target object.
            </summary>
            <param name="source">The source object from which field values are read.</param>
            <param name="target">The target object to which field values are written.</param>
            <param name="names">The optional list of field names against which to filter the fields that are
            to be mapped. If this parameter is <c>null</c> or empty no name filtering will be applied. The default 
            behavior is to check for an exact, case-sensitive match. Pass <see href="Flags.PartialNameMatch"/> to 
            filter fields by substring and <see href="Flags.IgnoreCase"/> to ignore case.</param>
        </member>
        <member name="M:Fasterflect.MapExtensions.MapProperties(System.Object,System.Object,System.String[])">
            <summary>
            Maps values from properties on the source object to properties with the same name on the target object.
            </summary>
            <param name="source">The source object from which property values are read.</param>
            <param name="target">The target object to which property values are written.</param>
            <param name="names">The optional list of property names against which to filter the properties that are
            to be mapped. If this parameter is <c>null</c> or empty no name filtering will be applied. The default 
            behavior is to check for an exact, case-sensitive match. Pass <see href="Flags.PartialNameMatch"/> to 
            filter properties by substring and <see href="Flags.IgnoreCase"/> to ignore case.</param>
        </member>
        <member name="M:Fasterflect.MapExtensions.MapFieldsToProperties(System.Object,System.Object,System.String[])">
            <summary>
            Maps values from fields on the source object to properties with the same name (ignoring case)
            on the target object.
            </summary>
            <param name="source">The source object from which field values are read.</param>
            <param name="target">The target object to which property values are written.</param>
            <param name="names">The optional list of member names against which to filter the members that are
            to be mapped. If this parameter is <c>null</c> or empty no name filtering will be applied. The default 
            behavior is to check for an exact, case-insensitive match. Pass <see href="Flags.PartialNameMatch"/>
            to filter members by substring.</param>
        </member>
        <member name="M:Fasterflect.MapExtensions.MapPropertiesToFields(System.Object,System.Object,System.String[])">
            <summary>
            Maps values from properties on the source object to fields with the same name (ignoring case) 
            on the target object.
            </summary>
            <param name="source">The source object from which property values are read.</param>
            <param name="target">The target object to which field values are written.</param>
            <param name="names">The optional list of member names against which to filter the members that are
            to be mapped. If this parameter is <c>null</c> or empty no name filtering will be applied. The default 
            behavior is to check for an exact, case-insensitive match. Pass <see href="Flags.PartialNameMatch"/>
            to filter members by substring.</param>
        </member>
        <member name="T:Fasterflect.ParameterConverter">
            <summary>
            A converter used to convert <paramref name="value"/> to <paramref name="parameterType"/>
            if it makes sense in the application.  Why implementation of converter can
            set new value for <paramref name="value"/>, it should not attempt to 
            modify child objects of <paramref name="value"/> because those changes will
            be permanent although if the method in question will not be selected as a match.
            </summary>
            <param name="parameterType">The type to be converted to.</param>
            <param name="target">The type or object whose method or constructor is being called.</param>
            <param name="value">The value to be converted.</param>
            <returns></returns>
        </member>
        <member name="T:Fasterflect.TryInvokeWithValuesExtensions">
            <summary>
            Container class for TryCreateInstanceWithValues and TryCallMethodWithValues extensions.
            </summary>
        </member>
        <member name="M:Fasterflect.TryInvokeWithValuesExtensions.TryCreateInstanceWithValues(System.Type,System.Object[])">
            <summary>
            Obtains the list of contructors for <paramref name="type"/> using the supplied parameter values
            and invokes the best match. This overload requires that the supplied <paramref name="parameterValues"/> 
            are all used in the order in which they are supplied. Parameter values can be null.
            
            This method is very liberal and attempts to convert values that are not otherwise
            considered compatible, such as between strings and enums or numbers, Guids and byte[16], etc.
            You should carefully test any usage to ensure correct program behavior.
            </summary>
            <param name="type">The type of which an instance should be created.</param>
            <param name="parameterValues">The values to use when invoking the constructor.</param>
            <returns>The result of the invocation.</returns>
        </member>
        <member name="M:Fasterflect.TryInvokeWithValuesExtensions.TryCreateInstanceWithValues(System.Type,Fasterflect.ParameterConverter,System.Reflection.BindingFlags,System.Object[])">
            <summary>
            Obtains the list of contructors for <paramref name="type"/> using the supplied parameter values
            and invokes the best match. This overload requires that the supplied <paramref name="parameterValues"/> 
            are all used in the order in which they are supplied. Parameter values can be null.
            
            This method is very liberal and attempts to convert values that are not otherwise
            considered compatible, such as between strings and enums or numbers, Guids and byte[16], etc.
            You should carefully test any usage to ensure correct program behavior.
            
            If the default conversion rule doesn't do what you want, you can supply a custom converter.
            If it is null, default conversion rule is used.
            </summary>
            <param name="type">The type of which an instance should be created.</param>
            <param name="converter">The converter delegate used to perform user-defined conversion.</param>
            <param name="flags">Binding flags for look up constructors.</param>
            <param name="parameterValues">The values to use when invoking the constructor.</param>
            <returns>The result of the invocation.</returns>
        </member>
        <member name="M:Fasterflect.TryInvokeWithValuesExtensions.TryCallMethodWithValues(System.Object,System.String,System.Object[])">
            <summary>
            Obtains the list of methods for <paramref name="obj"/> using the supplied parameter values
            and invokes the best match. This overload requires that the supplied <paramref name="parameterValues"/> 
            are all used in the order in which they are supplied. Parameter values can be null.
            
            This method is very liberal and attempts to convert values that are not otherwise
            considered compatible, such as between strings and enums or numbers, Guids and byte[16], etc.
            You should carefully test any usage to ensure correct program behavior.
            </summary>
            <param name="obj">The object whose method is to be invoked.</param>
            <param name="methodName">The name of the method to be invoked.</param>
            <param name="parameterValues">The values to use when invoking the method.</param>
            <returns>The result of the invocation.</returns>
        </member>
        <member name="M:Fasterflect.TryInvokeWithValuesExtensions.TryCallMethodWithValues(System.Object,Fasterflect.ParameterConverter,System.String,System.Reflection.BindingFlags,System.Object[])">
            <summary>
            Obtains the list of methods for <paramref name="obj"/> using the supplied parameter values
            and invokes the best match. This overload requires that the supplied <paramref name="parameterValues"/> 
            are all used in the order in which they are supplied. Parameter values can be null.
            
            This method is very liberal and attempts to convert values that are not otherwise
            considered compatible, such as between strings and enums or numbers, Guids and byte[16], etc.
            You should carefully test any usage to ensure correct program behavior.
            
            If the default conversion rule doesn't do what you want, you can supply a custom converter.
            If it is null, default conversion rule is used.
            </summary>
            <param name="obj">The object whose method is to be invoked.</param>
            <param name="converter">The converter delegate used to perform user-defined conversion.</param>
            <param name="methodName">The name of the method to be invoked.</param>
            <param name="flags">Binding flags for look up methods.</param>
            <param name="parameterValues">The values to use when invoking the method.</param>
            <returns>The result of the invocation.</returns>
        </member>
        <member name="M:Fasterflect.TryInvokeWithValuesExtensions.TryCallMethodWithValues(System.Object,Fasterflect.ParameterConverter,System.String,System.Type[],System.Reflection.BindingFlags,System.Object[])">
            <summary>
            Obtains the list of methods for <paramref name="obj"/> using the supplied parameter values
            and invokes the best match. This overload requires that the supplied <paramref name="parameterValues"/> 
            are all used in the order in which they are supplied. Parameter values can be null.
            
            This method is very liberal and attempts to convert values that are not otherwise
            considered compatible, such as between strings and enums or numbers, Guids and byte[16], etc.
            You should carefully test any usage to ensure correct program behavior.
            
            If the default conversion rule doesn't do what you want, you can supply a custom converter.
            If it is null, default conversion rule is used.
            </summary>
            <param name="obj">The object whose method is to be invoked.</param>
            <param name="converter">The converter delegate used to perform user-defined conversion.</param>
            <param name="methodName">The name of the method to be invoked.</param>
            <param name="genericTypes">The type parameter types of the method if it's a generic method.</param>
            <param name="flags">Binding flags for look up methods.</param>
            <param name="parameterValues">The values to use when invoking the method.</param>
            <returns>The result of the invocation.</returns>
        </member>
        <member name="M:Fasterflect.TryInvokeWithValuesExtensions.TryCall(Fasterflect.ParameterConverter,System.Collections.Generic.IEnumerable{System.Reflection.MethodBase},System.Object,System.Object[])">
            <summary>
            Implementation details:
            
            Matching process is done on a shallow copy of parametersValues so that 
            the converter could "modify" elements at will.  
            
            There will be a problem if the converter modifies a child array and the 
            method ends up not being matched (because of another parameter).  
            
            The standard Fasterflect converter doesn't modify child array so it's safe.
            This is only problematic when a custom converter is provided.
              
            TODO How to fix it? a deep clone?
            </summary>
        </member>
        <member name="T:Fasterflect.XmlTransformerExtensions">
            <summary>
            This class defines extensions for transforming any object to XML.
            </summary>
        </member>
        <member name="M:Fasterflect.XmlTransformerExtensions.ToXml(System.Object)">
            <summary>
            Generates a string representation of the given <paramref name="obj"/> using the default
            <see href="FormatOptions" />. The output will contain one element for every readable
            property on <paramref name="obj"/> and process reference properties (other than strings)
            recursively. This method does not handle cyclic references - passing in such an object
            graph will cause an infinite loop. 
            </summary>
            <param name="obj">The object to convert to XML.</param>
            <returns>A string containing the generated XML data.</returns>
        </member>
        <member name="M:Fasterflect.XmlTransformerExtensions.ToXml(System.Object,Fasterflect.FormatOptions)">
            <summary>
            Generates a string representation of the given <paramref name="obj"/> using the default
            <see href="FormatOptions" />. The output will contain one element for every readable
            property on <paramref name="obj"/> and process reference properties (other than strings)
            recursively. This method does not handle cyclic references - passing in such an object
            graph will cause an infinite loop. 
            </summary>
            <param name="obj">The object to convert to XML.</param>
            <param name="options"></param>
            <returns>A string containing the generated XML data.</returns>
        </member>
        <member name="T:Fasterflect.Probing.TypeConverter">
            <summary>
            Helper class for converting values between various types.
            </summary>
        </member>
        <member name="M:Fasterflect.Probing.TypeConverter.Get(System.Type,System.Xml.XmlNode)">
            <summary>
            Convert the supplied XmlNode into the specified target type. Only the InnerXml portion
            of the XmlNode is used in the conversion, unless the target type is itself an XmlNode.
            </summary>
            <param name="targetType">The type into which to convert</param>
            <param name="node">The source value used in the conversion operation</param>
            <returns>The converted value</returns>
        </member>
        <member name="M:Fasterflect.Probing.TypeConverter.Get(System.Type,System.Xml.Linq.XAttribute)">
            <summary>
            Convert the supplied XAttribute into the specified target type. Only the Value portion
            of the XAttribute is used in the conversion, unless the target type is itself an XAttribute.
            </summary>
            <param name="targetType">The type into which to convert</param>
            <param name="attribute">The source value used in the conversion operation</param>
            <returns>The converted value</returns>
        </member>
        <member name="M:Fasterflect.Probing.TypeConverter.Get(System.Type,System.Xml.Linq.XElement)">
            <summary>
            Convert the supplied XElement into the specified target type. Only the Value portion
            of the XElement is used in the conversion, unless the target type is itself an XElement.
            </summary>
            <param name="targetType">The type into which to convert</param>
            <param name="element">The source value used in the conversion operation</param>
            <returns>The converted value</returns>
        </member>
        <member name="M:Fasterflect.Probing.TypeConverter.Get(System.Type,System.String)">
            <summary>
            Convert the supplied string into the specified target type. 
            </summary>
            <param name="targetType">The type into which to convert</param>
            <param name="value">The source value used in the conversion operation</param>
            <returns>The converted value</returns>
        </member>
        <member name="M:Fasterflect.Probing.TypeConverter.Get(System.Type,System.Object)">
            <summary>
            Convert the supplied object into the specified target type. 
            </summary>
            <param name="targetType">The type into which to convert</param>
            <param name="value">The source value used in the conversion operation</param>
            <returns>The converted value</returns>
        </member>
        <member name="M:Fasterflect.Probing.TypeConverter.ConvertTypes(System.Type,System.Type,System.Object)">
            <summary>
            A method that will convert between types and their textual names.
            </summary>
            <param name="targetType">The target type</param>
            <param name="sourceType">The type of the provided value.</param>
            <param name="value">The value representing the type.</param>
            <returns></returns>
        </member>
        <member name="M:Fasterflect.Probing.TypeConverter.ConvertEnums(System.Type,System.Type,System.Object)">
            <summary>
            Helper method for converting enums from/to different types.
            </summary>
        </member>
        <member name="M:Fasterflect.Probing.TypeConverter.StringToGuid(System.String)">
            <summary>
            Convert the binary string (16 bytes) into a Guid.
            </summary>
        </member>
        <member name="M:Fasterflect.Probing.TypeConverter.GuidToBinaryString(System.Guid)">
            <summary>
            Convert the Guid into a binary string.
            </summary>
        </member>
        <member name="M:Fasterflect.Probing.TypeConverter.ConvertGuids(System.Type,System.Type,System.Object)">
            <summary>
            A method that will convert guids from and to different types
            </summary>
        </member>
        <member name="T:Fasterflect.PropertyInfoExtensions">
            <summary>
            Extension methods for inspecting and working with properties.
            </summary>
        </member>
        <member name="M:Fasterflect.PropertyInfoExtensions.Set(System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Sets the static property identified by <paramref name="propInfo"/> to the specified <paramref name="value" />.
            </summary>
        </member>
        <member name="M:Fasterflect.PropertyInfoExtensions.Set(System.Reflection.PropertyInfo,System.Object,System.Object)">
            <summary>
            Sets the instance property identified by <paramref name="propInfo"/> on the given <paramref name="obj"/>
            to the specified <paramref name="value" />.
            </summary>
        </member>
        <member name="M:Fasterflect.PropertyInfoExtensions.Get(System.Reflection.PropertyInfo)">
            <summary>
            Gets the value of the static property identified by <paramref name="propInfo"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.PropertyInfoExtensions.Get(System.Reflection.PropertyInfo,System.Object)">
            <summary>
            Gets the value of the instance property identified by <paramref name="propInfo"/> on the given <paramref name="obj"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.PropertyInfoExtensions.DelegateForSetPropertyValue(System.Reflection.PropertyInfo)">
            <summary>
            Creates a delegate which can set the value of the property <paramref name="propInfo"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.PropertyInfoExtensions.DelegateForSetPropertyValue(System.Reflection.PropertyInfo,Fasterflect.Flags)">
            <summary>
            Creates a delegate which can set the value of the property <param name="propInfo"/> matching the
            specified <param name="bindingFlags" />.
            </summary>
        </member>
        <member name="M:Fasterflect.PropertyInfoExtensions.DelegateForGetPropertyValue(System.Reflection.PropertyInfo)">
            <summary>
            Creates a delegate which can get the value of the property <param name="propInfo"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.PropertyInfoExtensions.DelegateForGetPropertyValue(System.Reflection.PropertyInfo,Fasterflect.Flags)">
            <summary>
            Creates a delegate which can get the value of the property <param name="propInfo"/> matching the
            specified <param name="bindingFlags" />.
            </summary>
        </member>
        <member name="T:Fasterflect.MemberExtensions">
            <summary>
            Extension methods for locating and accessing fields or properties, for situations where
            you do not care which it is.
            </summary>
        </member>
        <member name="M:Fasterflect.MemberExtensions.Member(System.Type,System.String)">
            <summary>
            Gets the member identified by <paramref name="name"/> on the given <paramref name="type"/>. This 
            method searches for public and non-public instance fields on both the type itself and all parent classes.
            </summary>
            <returns>A single MemberInfo instance of the first found match or null if no match was found.</returns>
        </member>
        <member name="M:Fasterflect.MemberExtensions.Member(System.Type,System.String,Fasterflect.Flags)">
            <summary>
            Gets the member identified by <paramref name="name"/> on the given <paramref name="type"/>. Use 
            the <paramref name="bindingFlags"/> parameter to define the scope of the search.
            </summary>
            <returns>A single MemberInfo instance of the first found match or null if no match was found.</returns>
        </member>
        <member name="M:Fasterflect.MemberExtensions.FieldsAndProperties(System.Type)">
            <summary>
            Gets all public and non-public instance fields and properties on the given <paramref name="type"/>, 
            including members defined on base types.
            </summary>
            <returns>A list of all matching members on the type. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.MemberExtensions.FieldsAndProperties(System.Type,Fasterflect.Flags)">
            <summary>
            Gets all public and non-public instance fields and properties on the given <paramref name="type"/> 
            that match the specified <paramref name="bindingFlags"/>, including members defined on base types.
            </summary>
            <returns>A list of all matching members on the type. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.MemberExtensions.Members(System.Type)">
            <summary>
            Gets all public and non-public instance members on the given <paramref name="type"/>.
            </summary>
            <returns>A list of all members on the type. This value will never be null.</returns>
            <param name="type">The type to reflect on.</param>
            <returns>A list of all members on the type. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.MemberExtensions.Members(System.Type,Fasterflect.Flags)">
            <summary>
            Gets all public and non-public instance members on the given <paramref name="type"/> that 
            match the specified <paramref name="bindingFlags"/>.
            </summary>
            <returns>A list of all matching members on the type. This value will never be null.</returns>
            <param name="type">The type to reflect on.</param>
            <param name="bindingFlags">The <see cref="T:System.Reflection.BindingFlags"/> or <see cref="T:Fasterflect.Flags"/> combination used to define
            the search behavior and result filtering.</param>
            <returns>A list of all matching members on the type. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.MemberExtensions.Members(System.Type,System.Reflection.MemberTypes,System.String[])">
            <summary>
            Gets all public and non-public instance members of the given <paramref name="memberTypes"/> on the 
            given <paramref name="type"/>, optionally filtered by the supplied <paramref name="names"/> list.
            </summary>
            <param name="memberTypes">The <see href="MemberTypes"/> to include in the result.</param>
            <param name="type">The type on which to reflect.</param>
            <param name="names">The optional list of names against which to filter the result. If this parameter is
            <c>null</c> or empty no name filtering will be applied. The default behavior is to check for an exact, 
            case-sensitive match. Pass <see href="Flags.ExcludeExplicitlyImplemented"/> to exclude explicitly implemented 
            interface members, <see href="Flags.PartialNameMatch"/> to locate by substring, and 
            <see href="Flags.IgnoreCase"/> to ignore case.</param>
            <returns>A list of all matching members on the type. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.MemberExtensions.Members(System.Type,System.Reflection.MemberTypes,Fasterflect.Flags,System.String[])">
            <summary>
            Gets all members of the given <paramref name="memberTypes"/> on the given <paramref name="type"/> that 
            match the specified <paramref name="bindingFlags"/>, optionally filtered by the supplied <paramref name="names"/>
            list (in accordance with the given <paramref name="bindingFlags"/>).
            </summary>
            <param name="type">The type to reflect on.</param>
            <param name="memberTypes">The <see href="MemberTypes"/> to include in the result.</param>
            <param name="bindingFlags">The <see cref="T:System.Reflection.BindingFlags"/> or <see cref="T:Fasterflect.Flags"/> combination used to define
            the search behavior and result filtering.</param>
            <param name="names">The optional list of names against which to filter the result. If this parameter is
            <c>null</c> or empty no name filtering will be applied. The default behavior is to check for an exact, 
            case-sensitive match. Pass <see href="Flags.ExcludeExplicitlyImplemented"/> to exclude explicitly implemented 
            interface members, <see href="Flags.PartialNameMatch"/> to locate by substring, and 
            <see href="Flags.IgnoreCase"/> to ignore case.</param>
            <returns>A list of all matching members on the type. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.MemberExtensions.TryGetValue(System.Object,System.String)">
            <summary>
            Gets the first (public or non-public) instance member with the given <paramref name="name"/> on the given
            <paramref name="obj"/> object. Returns the value of the member if a match was found and null otherwise.
            </summary>
            <remarks>
            When using this method it is not possible to distinguish between a missing member and a member whose value is null.
            </remarks>
            <param name="obj">The source object on which to find the member</param>
            <param name="name">The name of the member whose value should be retrieved</param>
            <returns>The value of the member or null if no member was found</returns>
        </member>
        <member name="M:Fasterflect.MemberExtensions.TryGetValue(System.Object,System.String,Fasterflect.Flags)">
            <summary>
            Gets the first member with the given <paramref name="name"/> on the given <paramref name="obj"/> object.
            Returns the value of the member if a match was found and null otherwise.
            Use the <paramref name="bindingFlags"/> parameter to limit the scope of the search.
            </summary>
            <remarks>
            When using this method it is not possible to distinguish between a missing member and a member whose value is null.
            </remarks>
            <param name="obj">The source object on which to find the member</param>
            <param name="name">The name of the member whose value should be retrieved</param>
            <param name="bindingFlags">A combination of Flags that define the scope of the search</param>
            <returns>The value of the member or null if no member was found</returns>
        </member>
        <member name="M:Fasterflect.MemberExtensions.TrySetValue(System.Object,System.String,System.Object)">
            <summary>
            Sets the first (public or non-public) instance member with the given <paramref name="name"/> on the 
            given <paramref name="obj"/> object to the supplied <paramref name="value"/>. Returns true 
            if a value was assigned to a member and false otherwise.
            </summary>
            <param name="obj">The source object on which to find the member</param>
            <param name="name">The name of the member whose value should be retrieved</param>
            <param name="value">The value that should be assigned to the member</param>
            <returns>True if the value was assigned to a member and false otherwise</returns>
        </member>
        <member name="M:Fasterflect.MemberExtensions.TrySetValue(System.Object,System.String,System.Object,Fasterflect.Flags)">
            <summary>
            Sets the first member with the given <paramref name="name"/> on the given <paramref name="obj"/> object
            to the supplied <paramref name="value"/>. Returns true if a value was assigned to a member and false otherwise.
            Use the <paramref name="bindingFlags"/> parameter to limit the scope of the search.
            </summary>
            <param name="obj">The source object on which to find the member</param>
            <param name="name">The name of the member whose value should be retrieved</param>
            <param name="value">The value that should be assigned to the member</param>
            <param name="bindingFlags">A combination of Flags that define the scope of the search</param>
            <returns>True if the value was assigned to a member and false otherwise</returns>
        </member>
        <member name="T:Fasterflect.PropertyExtensions">
            <summary>
            Extension methods for locating and accessing properties.
            </summary>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.SetPropertyValue(System.Object,System.String,System.Object)">
            <summary>
            Sets the property specified by <param name="name"/> on the given <param name="obj"/> to the 
            specified <param name="value" />.
            </summary>
            <returns><paramref name="obj"/>.</returns>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.GetPropertyValue(System.Object,System.String)">
            <summary>
            Gets the value of the property specified by <param name="name"/> on the given <param name="obj"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.SetPropertyValue(System.Object,System.String,System.Object,Fasterflect.Flags)">
            <summary>
            Sets the property specified by <param name="name"/> matching <param name="bindingFlags"/>
            on the given <param name="obj"/> to the specified <param name="value" />.
            </summary>
            <returns><paramref name="obj"/>.</returns>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.GetPropertyValue(System.Object,System.String,Fasterflect.Flags)">
            <summary>
            Gets the value of the property specified by <param name="name"/> matching <param name="bindingFlags"/>
            on the given <param name="obj"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.SetPropertyValue(System.Object,System.Linq.Expressions.Expression{System.Func{System.Object}},System.Object)">
            <summary>
            Sets the property specified by <param name="memberExpression"/> on the given <param name="obj"/> to the 
            specified <param name="value" />.
            </summary>
            <returns><paramref name="obj"/>.</returns>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.GetPropertyValue(System.Object,System.Linq.Expressions.Expression{System.Func{System.Object}})">
            <summary>
            Gets the value of the property specified by <param name="memberExpression"/> on the given <param name="obj"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.DelegateForSetPropertyValue(System.Type,System.String)">
            <summary>
            Creates a delegate which can set the value of the property specified by <param name="name"/>
            on the given <param name="type"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.DelegateForGetPropertyValue(System.Type,System.String)">
            <summary>
            Creates a delegate which can get the value of the property specified by <param name="name"/>
            on the given <param name="type"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.DelegateForSetPropertyValue(System.Type,System.String,Fasterflect.Flags)">
            <summary>
            Creates a delegate which can set the value of the property specified by <param name="name"/>
            matching <param name="bindingFlags"/> on the given <param name="type"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.DelegateForGetPropertyValue(System.Type,System.String,Fasterflect.Flags)">
            <summary>
            Creates a delegate which can get the value of the property specified by <param name="name"/>
            matching <param name="bindingFlags"/> on the given <param name="type"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.SetIndexer(System.Object,System.Object[])">
            <summary>
            Sets the value of the indexer of the given <paramref name="obj"/>
            </summary>
            <param name="obj">The object whose indexer is to be set.</param>
            <param name="parameters">The list of the indexer parameters plus the value to be set to the indexer.
            The parameter types are determined from these parameters, therefore no parameter can be <c>null</c>.
            If any parameter is <c>null</c> (or you can't be sure of that, i.e. receive from a variable), 
            use a different overload of this method.</param>
            <returns>The object whose indexer is to be set.</returns>
            <example>
            If the indexer is of type <c>string</c> and accepts one parameter of type <c>int</c>, this 
            method should be invoked as follow:
            <code>
            obj.SetIndexer(new Type[]{typeof(int), typeof(string)}, new object[]{1, "a"});
            </code>
            </example>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.SetIndexer(System.Object,System.Type[],System.Object[])">
            <summary>
            Sets the value of the indexer of the given <paramref name="obj"/>
            </summary>
            <param name="obj">The object whose indexer is to be set.</param>
            <param name="parameterTypes">The types of the indexer parameters (must be in the right order), plus
            the type of the indexer.</param>
            <param name="parameters">The list of the indexer parameters plus the value to be set to the indexer.
            This list must match with the <paramref name="parameterTypes"/> list.</param>
            <returns>The object whose indexer is to be set.</returns>
            <example>
            If the indexer is of type <c>string</c> and accepts one parameter of type <c>int</c>, this 
            method should be invoked as follow:
            <code>
            obj.SetIndexer(new Type[]{typeof(int), typeof(string)}, new object[]{1, "a"});
            </code>
            </example>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.GetIndexer(System.Object,System.Object[])">
            <summary>
            Gets the value of the indexer of the given <paramref name="obj"/>
            </summary>
            <param name="obj">The object whose indexer is to be retrieved.</param>
            <param name="parameters">The list of the indexer parameters.
            The parameter types are determined from these parameters, therefore no parameter can be <code>null</code>.
            If any parameter is <code>null</code> (or you can't be sure of that, i.e. receive from a variable), 
            use a different overload of this method.</param>
            <returns>The value returned by the indexer.</returns>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.GetIndexer(System.Object,System.Type[],System.Object[])">
            <summary>
            Gets the value of the indexer of the given <paramref name="obj"/>
            </summary>
            <param name="obj">The object whose indexer is to be retrieved.</param>
            <param name="parameterTypes">The types of the indexer parameters (must be in the right order).</param>
            <param name="parameters">The list of the indexer parameters.</param>
            <returns>The value returned by the indexer.</returns>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.SetIndexer(System.Object,Fasterflect.Flags,System.Object[])">
            <summary>
            Sets the value of the indexer matching <paramref name="bindingFlags"/> of the given <paramref name="obj"/>
            </summary>
            <param name="obj">The object whose indexer is to be set.</param>
            <param name="bindingFlags">The binding flags used to lookup the indexer.</param>
            <param name="parameters">The list of the indexer parameters plus the value to be set to the indexer.
            The parameter types are determined from these parameters, therefore no parameter can be <c>null</c>.
            If any parameter is <c>null</c> (or you can't be sure of that, i.e. receive from a variable), 
            use a different overload of this method.</param>
            <returns>The object whose indexer is to be set.</returns>
            <example>
            If the indexer is of type <c>string</c> and accepts one parameter of type <c>int</c>, this 
            method should be invoked as follow:
            <code>
            obj.SetIndexer(new Type[]{typeof(int), typeof(string)}, new object[]{1, "a"});
            </code>
            </example>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.SetIndexer(System.Object,System.Type[],Fasterflect.Flags,System.Object[])">
            <summary>
            Sets the value of the indexer matching <paramref name="bindingFlags"/> of the given <paramref name="obj"/>
            </summary>
            <param name="obj">The object whose indexer is to be set.</param>
            <param name="parameterTypes">The types of the indexer parameters (must be in the right order), plus
              the type of the indexer.</param>
            <param name="bindingFlags">The binding flags used to lookup the indexer.</param>
            <param name="parameters">The list of the indexer parameters plus the value to be set to the indexer.
              This list must match with the <paramref name="parameterTypes"/> list.</param>
            <returns>The object whose indexer is to be set.</returns>
            <example>
            If the indexer is of type <c>string</c> and accepts one parameter of type <c>int</c>, this 
            method should be invoked as follow:
            <code>
            obj.SetIndexer(new Type[]{typeof(int), typeof(string)}, new object[]{1, "a"});
            </code>
            </example>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.GetIndexer(System.Object,Fasterflect.Flags,System.Object[])">
            <summary>
            Gets the value of the indexer matching <paramref name="bindingFlags"/> of the given <paramref name="obj"/>
            </summary>
            <param name="obj">The object whose indexer is to be retrieved.</param>
            <param name="bindingFlags">The binding flags used to lookup the indexer.</param>
            <param name="parameters">The list of the indexer parameters.
            The parameter types are determined from these parameters, therefore no parameter can be <code>null</code>.
            If any parameter is <code>null</code> (or you can't be sure of that, i.e. receive from a variable), 
            use a different overload of this method.</param>
            <returns>The value returned by the indexer.</returns>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.GetIndexer(System.Object,System.Type[],Fasterflect.Flags,System.Object[])">
            <summary>
            Gets the value of the indexer matching <paramref name="bindingFlags"/> of the given <paramref name="obj"/>
            </summary>
            <param name="obj">The object whose indexer is to be retrieved.</param>
            <param name="parameterTypes">The types of the indexer parameters (must be in the right order).</param>
            <param name="bindingFlags">The binding flags used to lookup the indexer.</param>
            <param name="parameters">The list of the indexer parameters.</param>
            <returns>The value returned by the indexer.</returns>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.DelegateForSetIndexer(System.Type,System.Type[])">
            <summary>
            Creates a delegate which can set an indexer
            </summary>
            <param name="type">The type which the indexer belongs to.</param>
            <param name="parameterTypes">The types of the indexer parameters (must be in the right order), plus
            the type of the indexer.</param>
            <returns>A delegate which can set an indexer.</returns>
            <example>
            If the indexer is of type <c>string</c> and accepts one parameter of type <c>int</c>, this 
            method should be invoked as follow:
            <code>
            MethodInvoker invoker = type.DelegateForSetIndexer(new Type[]{typeof(int), typeof(string)});
            </code>
            </example>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.DelegateForGetIndexer(System.Type,System.Type[])">
            <summary>
            Creates a delegate which can get the value of an indexer.
            </summary>
            <param name="type">The type which the indexer belongs to.</param>
            <param name="parameterTypes">The types of the indexer parameters (must be in the right order).</param>
            <returns>The delegate which can get the value of an indexer.</returns>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.DelegateForSetIndexer(System.Type,Fasterflect.Flags,System.Type[])">
            <summary>
            Creates a delegate which can set an indexer matching <paramref name="bindingFlags"/>.
            </summary>
            <param name="type">The type which the indexer belongs to.</param>
            <param name="bindingFlags">The binding flags used to lookup the indexer.</param>
            <param name="parameterTypes">The types of the indexer parameters (must be in the right order), plus
            the type of the indexer.</param>
            <returns>A delegate which can set an indexer.</returns>
            <example>
            If the indexer is of type <c>string</c> and accepts one parameter of type <c>int</c>, this 
            method should be invoked as follow:
            <code>
            MethodInvoker invoker = type.DelegateForSetIndexer(new Type[]{typeof(int), typeof(string)});
            </code>
            </example>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.DelegateForGetIndexer(System.Type,Fasterflect.Flags,System.Type[])">
            <summary>
            Creates a delegate which can get the value of an indexer matching <paramref name="bindingFlags"/>.
            </summary>
            <param name="type">The type which the indexer belongs to.</param>
            <param name="bindingFlags">The binding flags used to lookup the indexer.</param>
            <param name="parameterTypes">The types of the indexer parameters (must be in the right order).</param>
            <returns>The delegate which can get the value of an indexer.</returns>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.Property(System.Type,System.String)">
            <summary>
            Gets the property identified by <paramref name="name"/> on the given <paramref name="type"/>. This method 
            searches for public and non-public instance properties on both the type itself and all parent classes.
            </summary>
            <returns>A single PropertyInfo instance of the first found match or null if no match was found.</returns>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.Property(System.Type,System.String,Fasterflect.Flags)">
            <summary>
            Gets the property identified by <paramref name="name"/> on the given <paramref name="type"/>. 
            Use the <paramref name="bindingFlags"/> parameter to define the scope of the search.
            </summary>
            <returns>A single PropertyInfo instance of the first found match or null if no match was found.</returns>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.Properties(System.Type,System.String[])">
            <summary>
            Gets all public and non-public instance properties on the given <paramref name="type"/>,
            including properties defined on base types. The result can optionally be filtered by specifying
            a list of property names to include using the <paramref name="names"/> parameter.
            </summary>
            <returns>A list of matching instance properties on the type.</returns>
            <param name="type">The type whose public properties are to be retrieved.</param>
            <param name="names">A list of names of properties to be retrieved. If this is <c>null</c>, 
            all properties are returned.</param>
            <returns>A list of all public properties on the type filted by <paramref name="names"/>.
            This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.Properties(System.Type,Fasterflect.Flags,System.String[])">
            <summary>
            Gets all properties on the given <paramref name="type"/> that match the specified <paramref name="bindingFlags"/>,
            including properties defined on base types.
            </summary>
            <returns>A list of all matching properties on the type. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.TryGetPropertyValue(System.Object,System.String)">
            <summary>
            Gets the first (public or non-public) instance property with the given <paramref name="name"/> on the given
            <paramref name="obj"/> object. Returns the value of the property if a match was found and null otherwise.
            </summary>
            <remarks>
            When using this method it is not possible to distinguish between a missing property and a property whose value is null.
            </remarks>
            <param name="obj">The source object on which to find the property</param>
            <param name="name">The name of the property whose value should be retrieved</param>
            <returns>The value of the property or null if no property was found</returns>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.TryGetPropertyValue(System.Object,System.String,Fasterflect.Flags)">
            <summary>
            Gets the first property with the given <paramref name="name"/> on the given <paramref name="obj"/> object.
            Returns the value of the property if a match was found and null otherwise.
            Use the <paramref name="bindingFlags"/> parameter to limit the scope of the search.
            </summary>
            <remarks>
            When using this method it is not possible to distinguish between a missing property and a property whose value is null.
            </remarks>
            <param name="obj">The source object on which to find the property</param>
            <param name="name">The name of the property whose value should be retrieved</param>
            <param name="bindingFlags">A combination of Flags that define the scope of the search</param>
            <returns>The value of the property or null if no property was found</returns>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.TrySetPropertyValue(System.Object,System.String,System.Object)">
            <summary>
            Sets the first (public or non-public) instance property with the given <paramref name="name"/> on the 
            given <paramref name="obj"/> object to the supplied <paramref name="value"/>. Returns true 
            if a value was assigned to a property and false otherwise.
            </summary>
            <param name="obj">The source object on which to find the property</param>
            <param name="name">The name of the property whose value should be retrieved</param>
            <param name="value">The value that should be assigned to the property</param>
            <returns>True if the value was assigned to a property and false otherwise</returns>
        </member>
        <member name="M:Fasterflect.PropertyExtensions.TrySetPropertyValue(System.Object,System.String,System.Object,Fasterflect.Flags)">
            <summary>
            Sets the first property with the given <paramref name="name"/> on the given <paramref name="obj"/> object
            to the supplied <paramref name="value"/>. Returns true if a value was assigned to a property and false otherwise.
            Use the <paramref name="bindingFlags"/> parameter to limit the scope of the search.
            </summary>
            <param name="obj">The source object on which to find the property</param>
            <param name="name">The name of the property whose value should be retrieved</param>
            <param name="value">The value that should be assigned to the property</param>
            <param name="bindingFlags">A combination of Flags that define the scope of the search</param>
            <returns>True if the value was assigned to a property and false otherwise</returns>
        </member>
        <member name="T:Fasterflect.FieldExtensions">
            <summary>
            Extension methods for locating and accessing fields.
            </summary>
        </member>
        <member name="M:Fasterflect.FieldExtensions.SetFieldValue(System.Object,System.String,System.Object)">
            <summary>
            Sets the field specified by <paramref name="name"/> on the given <paramref name="obj"/>
            to the specified <paramref name="value" />.
            </summary>
            <returns><paramref name="obj"/>.</returns>
        </member>
        <member name="M:Fasterflect.FieldExtensions.GetFieldValue(System.Object,System.String)">
            <summary>
            Gets the value of the field specified by <paramref name="name"/> on the given <paramref name="obj"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.FieldExtensions.SetFieldValue(System.Object,System.String,System.Object,Fasterflect.Flags)">
            <summary>
            Sets the field specified by <paramref name="name"/> and matching <paramref name="bindingFlags"/>
            on the given <paramref name="obj"/> to the specified <paramref name="value" />.
            </summary>
            <returns><paramref name="obj"/>.</returns>
        </member>
        <member name="M:Fasterflect.FieldExtensions.GetFieldValue(System.Object,System.String,Fasterflect.Flags)">
            <summary>
            Gets the value of the field specified by <paramref name="name"/> and matching <paramref name="bindingFlags"/>
            on the given <paramref name="obj"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.FieldExtensions.DelegateForSetFieldValue(System.Type,System.String)">
            <summary>
            Creates a delegate which can set the value of the field specified by <paramref name="name"/> on 
            the given <paramref name="type"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.FieldExtensions.DelegateForGetFieldValue(System.Type,System.String)">
            <summary>
            Creates a delegate which can get the value of the field specified by <paramref name="name"/> on 
            the given <paramref name="type"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.FieldExtensions.DelegateForSetFieldValue(System.Type,System.String,Fasterflect.Flags)">
            <summary>
            Creates a delegate which can set the value of the field specified by <paramref name="name"/> and
            matching <paramref name="bindingFlags"/> on the given <paramref name="type"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.FieldExtensions.DelegateForGetFieldValue(System.Type,System.String,Fasterflect.Flags)">
            <summary>
            Creates a delegate which can get the value of the field specified by <paramref name="name"/> and
            matching <paramref name="bindingFlags"/> on the given <paramref name="type"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.FieldExtensions.Field(System.Type,System.String)">
            <summary>
            Gets the field identified by <paramref name="name"/> on the given <paramref name="type"/>. This method 
            searches for public and non-public instance fields on both the type itself and all parent classes.
            </summary>
            <returns>A single FieldInfo instance of the first found match or null if no match was found.</returns>
        </member>
        <member name="M:Fasterflect.FieldExtensions.Field(System.Type,System.String,Fasterflect.Flags)">
            <summary>
            Gets the field identified by <paramref name="name"/> on the given <paramref name="type"/>. 
            Use the <paramref name="bindingFlags"/> parameter to define the scope of the search.
            </summary>
            <returns>A single FieldInfo instance of the first found match or null if no match was found.</returns>
        </member>
        <member name="M:Fasterflect.FieldExtensions.Fields(System.Type,System.String[])">
            <summary>
            Gets all public and non-public instance fields on the given <paramref name="type"/>,
            including fields defined on base types.
            </summary>
            <param name="type">The type on which to reflect.</param>
            <param name="names">The optional list of names against which to filter the result. If this parameter is
            <c>null</c> or empty no name filtering will be applied. This method will check for an exact, 
            case-sensitive match.</param>
            <returns>A list of all instance fields on the type. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.FieldExtensions.Fields(System.Type,Fasterflect.Flags,System.String[])">
            <summary>
            Gets all fields on the given <paramref name="type"/> that match the specified <paramref name="bindingFlags"/>.
            </summary>
            <param name="type">The type on which to reflect.</param>
            <param name="bindingFlags">The <see cref="T:System.Reflection.BindingFlags"/> or <see cref="T:Fasterflect.Flags"/> combination used to define
            the search behavior and result filtering.</param>
            <param name="names">The optional list of names against which to filter the result. If this parameter is
            <c>null</c> or empty no name filtering will be applied. The default behavior is to check for an exact, 
            case-sensitive match. Pass <see href="Flags.ExcludeExplicitlyImplemented"/> to exclude explicitly implemented 
            interface members, <see href="Flags.PartialNameMatch"/> to locate by substring, and 
            <see href="Flags.IgnoreCase"/> to ignore case.</param>
            <returns>A list of all matching fields on the type. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.FieldExtensions.TryGetFieldValue(System.Object,System.String)">
            <summary>
            Gets the first (public or non-public) instance field with the given <paramref name="name"/> on the given
            <paramref name="obj"/> object. Returns the value of the field if a match was found and null otherwise.
            </summary>
            <remarks>
            When using this method it is not possible to distinguish between a missing field and a field whose value is null.
            </remarks>
            <param name="obj">The source object on which to find the field</param>
            <param name="name">The name of the field whose value should be retrieved</param>
            <returns>The value of the field or null if no field was found</returns>
        </member>
        <member name="M:Fasterflect.FieldExtensions.TryGetFieldValue(System.Object,System.String,Fasterflect.Flags)">
            <summary>
            Gets the first field with the given <paramref name="name"/> on the given <paramref name="obj"/> object.
            Returns the value of the field if a match was found and null otherwise.
            Use the <paramref name="bindingFlags"/> parameter to limit the scope of the search.
            </summary>
            <remarks>
            When using this method it is not possible to distinguish between a missing field and a field whose value is null.
            </remarks>
            <param name="obj">The source object on which to find the field</param>
            <param name="name">The name of the field whose value should be retrieved</param>
            <param name="bindingFlags">A combination of Flags that define the scope of the search</param>
            <returns>The value of the field or null if no field was found</returns>
        </member>
        <member name="M:Fasterflect.FieldExtensions.TrySetFieldValue(System.Object,System.String,System.Object)">
            <summary>
            Sets the first (public or non-public) instance field with the given <paramref name="name"/> on the 
            given <paramref name="obj"/> object to supplied <paramref name="value"/>. Returns true if a value
            was assigned to a field and false otherwise.
            </summary>
            <param name="obj">The source object on which to find the field</param>
            <param name="name">The name of the field whose value should be retrieved</param>
            <param name="value">The value that should be assigned to the field</param>
            <returns>True if the value was assigned to a field and false otherwise</returns>
        </member>
        <member name="M:Fasterflect.FieldExtensions.TrySetFieldValue(System.Object,System.String,System.Object,Fasterflect.Flags)">
            <summary>
            Sets the first field with the given <paramref name="name"/> on the given <paramref name="obj"/> object
            to the supplied <paramref name="value"/>. Returns true if a value was assigned to a field and false otherwise.
            Use the <paramref name="bindingFlags"/> parameter to limit the scope of the search.
            </summary>
            <param name="obj">The source object on which to find the field</param>
            <param name="name">The name of the field whose value should be retrieved</param>
            <param name="value">The value that should be assigned to the field</param>
            <param name="bindingFlags">A combination of Flags that define the scope of the search</param>
            <returns>True if the value was assigned to a field and false otherwise</returns>
        </member>
        <member name="T:Fasterflect.MethodExtensions">
            <summary>
            Extension methods for locating, inspecting and invoking methods.
            </summary>
        </member>
        <member name="M:Fasterflect.MethodExtensions.CallMethod(System.Object,System.String,System.Object[])">
            <summary>
            Invokes the method specified by <paramref name="name"/> on the given <paramref name="obj"/> 
            using <paramref name="parameters"/> as arguments. 
            Leave <paramref name="parameters"/> empty if the method has no arguments.
            </summary>
            <returns>The return value of the method.</returns>
            <remarks>If the method has no return type, <c>null</c> is returned.</remarks>
            <remarks>
            All elements of <paramref name="parameters"/> must not be <c>null</c>.  Otherwise, 
            <see cref="T:System.NullReferenceException"/> is thrown.  If you are not sure as to whether
            any element is <c>null</c> or not, use the overload that accepts <c>paramTypes</c> array.
            </remarks>
            <seealso cref="M:Fasterflect.MethodExtensions.CallMethod(System.Object,System.String,System.Type[],System.Object[])"/>
        </member>
        <member name="M:Fasterflect.MethodExtensions.CallMethod(System.Object,System.Type[],System.String,System.Object[])">
            <summary>
            Invoke generic method.  See the overload with same parameters except for <paramref name="genericTypes"/>.
            </summary>
            <seealso cref="M:Fasterflect.MethodExtensions.CallMethod(System.Object,System.String,System.Object[])"/>
        </member>
        <member name="M:Fasterflect.MethodExtensions.CallMethod(System.Object,System.String,System.Type[],System.Object[])">
            <summary>
            Invokes the method specified by <paramref name="name"/> on the given <paramref name="obj"/> 
            using <paramref name="parameters"/> as arguments.
            Method parameter types are specified by <paramref name="parameterTypes"/>.
            </summary>
            <returns>The return value of the method.</returns>
            <remarks>If the method has no return type, <c>null</c> is returned.</remarks>
        </member>
        <member name="M:Fasterflect.MethodExtensions.CallMethod(System.Object,System.Type[],System.String,System.Type[],System.Object[])">
            <summary>
            Invoke generic method.  See the overload with same parameters except for <paramref name="genericTypes"/>.
            </summary>
            <seealso cref="M:Fasterflect.MethodExtensions.CallMethod(System.Object,System.String,System.Type[],System.Object[])"/>
        </member>
        <member name="M:Fasterflect.MethodExtensions.CallMethod(System.Object,System.String,Fasterflect.Flags,System.Object[])">
            <summary>
            Invokes the method specified by <paramref name="name"/> on the given <paramref name="obj"/>
            matching <paramref name="bindingFlags"/> using <paramref name="parameters"/> as arguments.
            Leave <paramref name="parameters"/> empty if the method has no argument.
            </summary>
            <returns>The return value of the method.</returns>
            <remarks>If the method has no return type, <c>null</c> is returned.</remarks>
            <remarks>
            All elements of <paramref name="parameters"/> must not be <c>null</c>.  Otherwise, 
            <see cref="T:System.NullReferenceException"/> is thrown.  If you are not sure as to whether
            any element is <c>null</c> or not, use the overload that accepts <c>paramTypes</c> array.
            </remarks>
            <seealso cref="M:Fasterflect.MethodExtensions.CallMethod(System.Object,System.String,System.Type[],Fasterflect.Flags,System.Object[])"/>
        </member>
        <member name="M:Fasterflect.MethodExtensions.CallMethod(System.Object,System.Type[],System.String,Fasterflect.Flags,System.Object[])">
            <summary>
            Invoke generic method.  See the overload with same parameters except for <paramref name="genericTypes"/>.
            </summary>
            <seealso cref="M:Fasterflect.MethodExtensions.CallMethod(System.Object,System.String,Fasterflect.Flags,System.Object[])"/>
        </member>
        <member name="M:Fasterflect.MethodExtensions.CallMethod(System.Object,System.String,System.Type[],Fasterflect.Flags,System.Object[])">
            <summary>
            Invokes a method specified by <paramref name="name"/> on the given <paramref name="obj"/> 
            matching <paramref name="bindingFlags"/> using <paramref name="parameters"/> as arguments.
            Method parameter types are specified by <paramref name="parameterTypes"/>.
            </summary>
            <returns>The return value of the method.</returns>
            <remarks>If the method has no return type, <c>null</c> is returned.</remarks>
        </member>
        <member name="M:Fasterflect.MethodExtensions.CallMethod(System.Object,System.Type[],System.String,System.Type[],Fasterflect.Flags,System.Object[])">
            <summary>
            Invoke generic method.  See the overload with same parameters except for <paramref name="genericTypes"/>.
            </summary>
            <seealso cref="M:Fasterflect.MethodExtensions.CallMethod(System.Object,System.String,System.Type[],Fasterflect.Flags,System.Object[])"/>
        </member>
        <member name="M:Fasterflect.MethodExtensions.DelegateForCallMethod(System.Type,System.String,System.Type[])">
            <summary>
            Creates a delegate which can invoke the method <paramref name="name"/> with arguments matching
            <paramref name="parameterTypes"/> on the given <paramref name="type"/>.
            Leave <paramref name="parameterTypes"/> empty if the method has no arguments.
            </summary>
        </member>
        <member name="M:Fasterflect.MethodExtensions.DelegateForCallMethod(System.Type,System.Type[],System.String,System.Type[])">
            <summary>
            Create a delegate to invoke a generic method.  See the overload with same parameters except for <paramref name="genericTypes"/>.
            </summary>
            <seealso cref="M:Fasterflect.MethodExtensions.DelegateForCallMethod(System.Type,System.String,System.Type[])"/>
        </member>
        <member name="M:Fasterflect.MethodExtensions.DelegateForCallMethod(System.Type,System.String,Fasterflect.Flags,System.Type[])">
            <summary>
            Creates a delegate which can invoke the method <paramref name="name"/> with arguments matching
            <paramref name="parameterTypes"/> and matching <paramref name="bindingFlags"/> on the given <paramref name="type"/>.
            Leave <paramref name="parameterTypes"/> empty if the method has no arguments.
            </summary>
        </member>
        <member name="M:Fasterflect.MethodExtensions.DelegateForCallMethod(System.Type,System.Type[],System.String,Fasterflect.Flags,System.Type[])">
            <summary>
            Create a delegate to invoke a generic method.  See the overload with same parameters except for <paramref name="genericTypes"/>.
            </summary>
            <seealso cref="M:Fasterflect.MethodExtensions.DelegateForCallMethod(System.Type,System.String,Fasterflect.Flags,System.Type[])"/>
        </member>
        <member name="M:Fasterflect.MethodExtensions.Method(System.Type,System.String)">
            <summary>
            Gets the public or non-public instance method with the given <paramref name="name"/> on the
            given <paramref name="type"/>.
            </summary>
            <param name="type">The type on which to reflect.</param>
            <param name="name">The name of the method to search for. This argument must be supplied. The 
            default behavior is to check for an exact, case-sensitive match. Pass <see href="Flags.ExplicitNameMatch"/> 
            to include explicitly implemented interface members, <see href="Flags.PartialNameMatch"/> to locate
            by substring, and <see href="Flags.IgnoreCase"/> to ignore case.</param>
            <returns>The specified method or null if no method was found. If there are multiple matches
            due to method overloading the first found match will be returned.</returns>
        </member>
        <member name="M:Fasterflect.MethodExtensions.Method(System.Type,System.Type[],System.String)">
            <summary>
            Gets a generic method.  See the overload with same arguments exception for <paramref name="genericTypes"/>.
            </summary>
            <seealso cref="M:Fasterflect.MethodExtensions.Method(System.Type,System.String)"/>
        </member>
        <member name="M:Fasterflect.MethodExtensions.Method(System.Type,System.String,System.Type[])">
            <summary>
            Gets the public or non-public instance method with the given <paramref name="name"/> on the 
            given <paramref name="type"/> where the parameter types correspond in order with the
            supplied <paramref name="parameterTypes"/>.
            </summary>
            <param name="type">The type on which to reflect.</param>
            <param name="name">The name of the method to search for. This argument must be supplied. The 
            default behavior is to check for an exact, case-sensitive match.</param>
            <param name="parameterTypes">If this parameter is not null then only methods with the same 
            parameter signature will be included in the result.</param>
            <returns>The specified method or null if no method was found. If there are multiple matches
            due to method overloading the first found match will be returned.</returns>
        </member>
        <member name="M:Fasterflect.MethodExtensions.Method(System.Type,System.Type[],System.String,System.Type[])">
            <summary>
            Gets a generic method.  See the overload with same arguments exception for <paramref name="genericTypes"/>.
            </summary>
            <seealso cref="M:Fasterflect.MethodExtensions.Method(System.Type,System.String,System.Type[])"/>
        </member>
        <member name="M:Fasterflect.MethodExtensions.Method(System.Type,System.String,Fasterflect.Flags)">
            <summary>
            Gets the method with the given <paramref name="name"/> and matching <paramref name="bindingFlags"/>
            on the given <paramref name="type"/>.
            </summary>
            <param name="type">The type on which to reflect.</param>
            <param name="name">The name of the method to search for. This argument must be supplied. The 
            default behavior is to check for an exact, case-sensitive match. Pass <see href="Flags.ExplicitNameMatch"/> 
            to include explicitly implemented interface members, <see href="Flags.PartialNameMatch"/> to locate
            by substring, and <see href="Flags.IgnoreCase"/> to ignore case.</param>
            <param name="bindingFlags">The <see cref="T:System.Reflection.BindingFlags"/> or <see cref="T:Fasterflect.Flags"/> combination used to define
            the search behavior and result filtering.</param>
            <returns>The specified method or null if no method was found. If there are multiple matches
            due to method overloading the first found match will be returned.</returns>
        </member>
        <member name="M:Fasterflect.MethodExtensions.Method(System.Type,System.Type[],System.String,Fasterflect.Flags)">
            <summary>
            Gets a generic method.  See the overload with same arguments exception for <paramref name="genericTypes"/>.
            </summary>
            <seealso cref="M:Fasterflect.MethodExtensions.Method(System.Type,System.String,Fasterflect.Flags)"/>
        </member>
        <member name="M:Fasterflect.MethodExtensions.Method(System.Type,System.String,System.Type[],Fasterflect.Flags)">
            <summary>
            Gets the method with the given <paramref name="name"/> and matching <paramref name="bindingFlags"/>
            on the given <paramref name="type"/> where the parameter types correspond in order with the
            supplied <paramref name="parameterTypes"/>.
            </summary>
            <param name="type">The type on which to reflect.</param>
            <param name="name">The name of the method to search for. This argument must be supplied. The 
              default behavior is to check for an exact, case-sensitive match. Pass <see href="Flags.ExplicitNameMatch"/> 
              to include explicitly implemented interface members, <see href="Flags.PartialNameMatch"/> to locate
              by substring, and <see href="Flags.IgnoreCase"/> to ignore case.</param>
            <param name="parameterTypes">If this parameter is supplied then only methods with the same parameter signature
              will be included in the result. The default behavior is to check only for assignment compatibility,
              but this can be changed to exact matching by passing <see href="Flags.ExactBinding"/>.</param>
            <param name="bindingFlags">The <see cref="T:System.Reflection.BindingFlags"/> or <see cref="T:Fasterflect.Flags"/> combination used to define
              the search behavior and result filtering.</param>
            <returns>The specified method or null if no method was found. If there are multiple matches
            due to method overloading the first found match will be returned.</returns>
        </member>
        <member name="M:Fasterflect.MethodExtensions.Method(System.Type,System.Type[],System.String,System.Type[],Fasterflect.Flags)">
            <summary>
            Gets the method with the given <paramref name="name"/> and matching <paramref name="bindingFlags"/>
            on the given <paramref name="type"/> where the parameter types correspond in order with the
            supplied <paramref name="parameterTypes"/>.
            </summary>
            <param name="type">The type on which to reflect.</param>
            <param name="genericTypes">Type parameters if this is a generic method.</param>
            <param name="name">The name of the method to search for. This argument must be supplied. The 
              default behavior is to check for an exact, case-sensitive match. Pass <see href="Flags.ExplicitNameMatch"/> 
              to include explicitly implemented interface members, <see href="Flags.PartialNameMatch"/> to locate
              by substring, and <see href="Flags.IgnoreCase"/> to ignore case.</param>
            <param name="parameterTypes">If this parameter is supplied then only methods with the same parameter signature
              will be included in the result. The default behavior is to check only for assignment compatibility,
              but this can be changed to exact matching by passing <see href="Flags.ExactBinding"/>.</param>
            <param name="bindingFlags">The <see cref="T:System.Reflection.BindingFlags"/> or <see cref="T:Fasterflect.Flags"/> combination used to define
              the search behavior and result filtering.</param>
            <returns>The specified method or null if no method was found. If there are multiple matches
            due to method overloading the first found match will be returned.</returns>
        </member>
        <member name="M:Fasterflect.MethodExtensions.Methods(System.Type,System.String[])">
            <summary>
            Gets all public and non-public instance methods on the given <paramref name="type"/> that match the 
            given <paramref name="names"/>.
            </summary>
            <param name="type">The type on which to reflect.</param>
            <param name="names">The optional list of names against which to filter the result. If this parameter is
            <c>null</c> or empty no name filtering will be applied. The default behavior is to check for an exact, 
            case-sensitive match. Pass <see href="Flags.ExcludeExplicitlyImplemented"/> to exclude explicitly implemented 
            interface members, <see href="Flags.PartialNameMatch"/> to locate by substring, and 
            <see href="Flags.IgnoreCase"/> to ignore case.</param>
            <returns>A list of all matching methods. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.MethodExtensions.Methods(System.Type,Fasterflect.Flags,System.String[])">
            <summary>
            Gets all public and non-public instance methods on the given <paramref name="type"/> that match the 
            given <paramref name="names"/>.
            </summary>
            <param name="type">The type on which to reflect.</param>
            <param name="bindingFlags">The <see cref="T:System.Reflection.BindingFlags"/> or <see cref="T:Fasterflect.Flags"/> combination used to define
            the search behavior and result filtering.</param>
            <param name="names">The optional list of names against which to filter the result. If this parameter is
            <c>null</c> or empty no name filtering will be applied. The default behavior is to check for an exact, 
            case-sensitive match. Pass <see href="Flags.ExcludeExplicitlyImplemented"/> to exclude explicitly implemented 
            interface members, <see href="Flags.PartialNameMatch"/> to locate by substring, and 
            <see href="Flags.IgnoreCase"/> to ignore case.</param>
            <returns>A list of all matching methods. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.MethodExtensions.Methods(System.Type,System.Type[],System.String[])">
            <summary>
            Gets all public and non-public instance methods on the given <paramref name="type"/> that match the given 
             <paramref name="names"/>.
            </summary>
            <param name="type">The type on which to reflect.</param>
            <param name="parameterTypes">If this parameter is supplied then only methods with the same parameter 
            signature will be included in the result.</param>
            <param name="names">The optional list of names against which to filter the result. If this parameter is
            <c>null</c> or empty no name filtering will be applied. The default behavior is to check for an exact, 
            case-sensitive match.</param>
            <returns>A list of all matching methods. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.MethodExtensions.Methods(System.Type,System.Type[],Fasterflect.Flags,System.String[])">
            <summary>
            Gets all methods on the given <paramref name="type"/> that match the given lookup criteria.
            </summary>
            <param name="type">The type on which to reflect.</param>
            <param name="parameterTypes">If this parameter is supplied then only methods with the same parameter signature
            will be included in the result. The default behavior is to check only for assignment compatibility,
            but this can be changed to exact matching by passing <see href="Flags.ExactBinding"/>.</param>
            <param name="bindingFlags">The <see cref="T:System.Reflection.BindingFlags"/> or <see cref="T:Fasterflect.Flags"/> combination used to define
            the search behavior and result filtering.</param>
            <param name="names">The optional list of names against which to filter the result. If this parameter is
            <c>null</c> or empty no name filtering will be applied. The default behavior is to check for an exact, 
            case-sensitive match. Pass <see href="Flags.ExcludeExplicitlyImplemented"/> to exclude explicitly implemented 
            interface members, <see href="Flags.PartialNameMatch"/> to locate by substring, and 
            <see href="Flags.IgnoreCase"/> to ignore case.</param>
            <returns>A list of all matching methods. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.MethodExtensions.Methods(System.Type,System.Type[],System.Type[],Fasterflect.Flags,System.String[])">
            <summary>
            Gets all methods on the given <paramref name="type"/> that match the given lookup criteria.
            </summary>
            <param name="type">The type on which to reflect.</param>
            <param name="genericTypes">If this parameter is supplied then only methods with the same generic parameter 
            signature will be included in the result. The default behavior is to check only for assignment compatibility,
            but this can be changed to exact matching by passing <see href="Flags.ExactBinding"/>.</param>
            <param name="parameterTypes">If this parameter is supplied then only methods with the same parameter signature
            will be included in the result. The default behavior is to check only for assignment compatibility,
            but this can be changed to exact matching by passing <see href="Flags.ExactBinding"/>.</param>
            <param name="bindingFlags">The <see cref="T:System.Reflection.BindingFlags"/> or <see cref="T:Fasterflect.Flags"/> combination used to define
            the search behavior and result filtering.</param>
            <param name="names">The optional list of names against which to filter the result. If this parameter is
            <c>null</c> or empty no name filtering will be applied. The default behavior is to check for an exact, 
            case-sensitive match. Pass <see href="Flags.ExcludeExplicitlyImplemented"/> to exclude explicitly implemented 
            interface members, <see href="Flags.PartialNameMatch"/> to locate by substring, and 
            <see href="Flags.IgnoreCase"/> to ignore case.</param>
            <returns>A list of all matching methods. This value will never be null.</returns>
        </member>
        <member name="T:Fasterflect.MemberGetter">
            <summary>
            A delegate to retrieve the value of an instance field or property of an object.
            </summary>
            <param name="obj">
            The object whose field's or property's value is to be retrieved.
            Use <c>null</c> for static field or property.
            </param>
            <returns>The value of the instance field or property.</returns>
        </member>
        <member name="T:Fasterflect.MemberSetter">
            <summary>
            A delegate to set the value of an instance field or property of an object.
            </summary>
            <param name="obj">
            The object whose field's or property's value is to be set.
            Use <c>null</c> for static field or property.
            </param>
            <param name="value">The value to be set to the field or property.</param>
        </member>
        <member name="T:Fasterflect.ArrayElementSetter">
            <summary>
            A delegate to set an element of an array.
            </summary>
            <param name="array">The array whose element is to be set.</param>
            <param name="index">The index of the element to be set.</param>
            <param name="value">The value to set to the element.</param>
        </member>
        <member name="T:Fasterflect.ArrayElementGetter">
            <summary>
            A delegate to retrieve an element of an array.
            </summary>
            <param name="array">The array whose element is to be retrieved</param>
            <param name="index">The index of the element to be retrieved</param>
            <returns>The element at <paramref name="index"/></returns>
        </member>
        <member name="T:Fasterflect.MethodInvoker">
            <summary>
            A delegate to invoke an instance method or indexer of an object.
            </summary>
            <param name="obj">
            The object whose method or indexer is to be invoked on.
            Use <c>null</c> for static method.</param>
            <param name="parameters">The properly-ordered parameter list of the method/indexer.  
            For indexer-set operation, the parameter array include parameters for the indexer plus
            the value to be set to the indexer.</param>
            <returns>The return value of the method or indexer.  Null is returned if the method has no
            return type or if it's a indexer-set operation.</returns>
        </member>
        <member name="T:Fasterflect.ConstructorInvoker">
            <summary>
            A delegate to invoke the constructor of a type.
            </summary>
            <param name="parameters">The properly-ordered parameter list of the constructor.</param>
            <returns>An instance of type whose constructor is invoked.</returns>
        </member>
        <member name="T:Fasterflect.ObjectMapper">
            <summary>
            A delegate to copy values of instance members (fields, properties, or both) from one object to another.
            </summary>
            <param name="source">The object whose instance members' values will be read.</param>
            <param name="target">The object whose instance members' values will be written.</param>
        </member>
        <member name="T:Fasterflect.Probing.MethodMap">
            <summary>
            This class wraps a single invokable method call. It contains information on the method to call as well as 
            the parameters to use in the method call.
            This intermediary class is used by the various other classes to select the best match to call
            from a given set of available methods/constructors (and a set of parameter names and types).
            </summary>
        </member>
        <member name="M:Fasterflect.Probing.MethodMap.PrepareParameters(System.Object[])">
            <summary>
            Perform parameter reordering, null handling and type conversion in preparation
            of executing the method call.
            </summary>
            <param name="row">The callers row of data.</param>
            <returns>The parameter array to use in the actual invocation.</returns>
        </member>
        <member name="M:Fasterflect.Probing.MethodMap.AnySet(System.Collections.BitArray)">
            <summary>
            Test whether at least one bit is set in the array. Replaces the old "long != 0" check.
            </summary>
        </member>
        <member name="M:Fasterflect.Probing.MethodMap.AllUnset(System.Collections.BitArray)">
            <summary>
            Test whether no bits are set in the array. Replaces the old "long == 0" check.
            </summary>
        </member>
        <member name="M:Fasterflect.Probing.MethodMap.AllSet(System.Collections.BitArray)">
            <summary>
            Test whether no bits are set in the array. Replaces the old "long == 0" check.
            </summary>
        </member>
        <member name="T:Fasterflect.Probing.MapFactory">
            <summary>
            Helper class for producing invocation maps that describe how to create an instance of an object
            given a set of parameters. Maps are cached to speed up subsequent requests.
            </summary>
        </member>
        <member name="F:Fasterflect.Probing.MapFactory.mapCache">
            <summary>
            This field contains a dictionary mapping from a particular constructor to all known parameter sets,
            each with an associated MethodMap responsible for creating instances of the type using the given
            constructor and parameter set.
            </summary>
        </member>
        <member name="T:Fasterflect.Probing.MethodDispatcher">
            <summary>
            Collects methods into a pool and allows invocation of the best match given a set of parameters.
            </summary>
        </member>
        <member name="M:Fasterflect.Probing.MethodDispatcher.AddMethod(System.Reflection.MethodInfo)">
            <summary>
            Add a method to the list of available methods for this method dispatcher.
            </summary>
            <param name="method">The method to add to the pool of invocation candidates.</param>
        </member>
        <member name="M:Fasterflect.Probing.MethodDispatcher.Invoke(System.Object,System.Boolean,System.Object)">
            <summary>
            Invoke the best available match for the supplied parameters. 
            If no method can be called using the supplied parameters, an exception is thrown.
            </summary>
            <param name="obj">The object on which to invoke a method.</param>
            <param name="mustUseAllParameters">Specifies whether all supplied parameters must be used in the
            invocation. Unless you know what you are doing you should pass true for this parameter.</param>
            <param name="sample">The object whose public properties will be used as parameters.</param>
            <returns>The return value of the invocation.</returns>
        </member>
        <member name="M:Fasterflect.Probing.MethodDispatcher.Invoke(System.Object,System.Boolean,System.Collections.Generic.Dictionary{System.String,System.Object})">
            <summary>
            Invoke the best available match for the supplied parameters. 
            If no method can be called using the supplied parameters, an exception is thrown.
            </summary>
            <param name="obj">The object on which to invoke a method.</param>
            <param name="mustUseAllParameters">Specifies whether all supplied parameters must be used in the
            invocation. Unless you know what you are doing you should pass true for this parameter.</param>
            <param name="parameters">A dictionary of parameter name/value pairs.</param>
            <returns>The return value of the invocation.</returns>
        </member>
        <member name="T:Fasterflect.Emitter.ValueTypeHolder">
            <summary>
            A wrapper for value type.  Must be used in order for Fasterflect to 
            work with value type such as struct.
            </summary>
        </member>
        <member name="M:Fasterflect.Emitter.ValueTypeHolder.#ctor(System.Object)">
            <summary>
            Creates a wrapper for <paramref name="value"/> value type.  The wrapper
            can then be used with Fasterflect.
            </summary>
            <param name="value">The value type to be wrapped.  
            Must be a derivative of <code>ValueType</code>.</param>
        </member>
        <member name="P:Fasterflect.Emitter.ValueTypeHolder.Value">
            <summary>
            The actual struct wrapped by this instance.
            </summary>
        </member>
        <member name="T:Fasterflect.MethodInfoExtensions">
            <summary>
            Extension methods for inspecting, invoking and working with methods.
            </summary>
        </member>
        <member name="M:Fasterflect.MethodInfoExtensions.Call(System.Reflection.MethodInfo,System.Object[])">
            <summary>
            Invokes the static method identified by <paramref name="methodInfo"/> with <paramref name="parameters"/>
            as arguments.  Leave <paramref name="parameters"/> empty if the method has no argument.
            </summary>
            <returns>The return value of the method.</returns>
            <remarks>If the method has no return type, <c>null</c> is returned.</remarks>
        </member>
        <member name="M:Fasterflect.MethodInfoExtensions.Call(System.Reflection.MethodInfo,System.Object,System.Object[])">
            <summary>
            Invokes the instance method identified by <paramref name="methodInfo"/> on the object
            <paramref name="obj"/> with <paramref name="parameters"/> as arguments.
            Leave <paramref name="parameters"/> empty if the method has no argument.
            </summary>
            <returns>The return value of the method.</returns>
            <remarks>If the method has no return type, <c>null</c> is returned.</remarks>
        </member>
        <member name="M:Fasterflect.MethodInfoExtensions.DelegateForCallMethod(System.Reflection.MethodInfo)">
            <summary>
            Creates a delegate which can invoke the instance method identified by <paramref name="methodInfo"/>.
            </summary>
        </member>
        <member name="M:Fasterflect.MethodInfoExtensions.Parameters(System.Reflection.MethodBase)">
            <summary>
            Gets all parameters for the given <paramref name="method"/>.
            </summary>
            <returns>The list of parameters for the method. This value will never be null.</returns>
        </member>
        <member name="M:Fasterflect.MethodInfoExtensions.HasParameterSignature(System.Reflection.MethodBase,System.Type[])">
            <summary>
            Compares the signature of the method with the given parameter types and returns true if
            all method parameters have the same order and type. Parameter names are not considered.
            </summary>
            <returns>True if the supplied parameter type array matches the method parameters array, false otherwise.</returns>
        </member>
        <member name="M:Fasterflect.MethodInfoExtensions.HasParameterSignature(System.Reflection.MethodBase,System.Reflection.ParameterInfo[])">
            <summary>
            Compares the signature of the method with the given parameter types and returns true if
            all method parameters have the same order and type. Parameter names are not considered.
            </summary>
            <returns>True if the supplied parameter type array matches the method parameters array, false otherwise.</returns>
        </member>
    </members>
</doc>
